引言
在現(xiàn)代應(yīng)用開(kāi)發(fā)中,高效的打包和部署流程對(duì)于項(xiàng)目的開(kāi)發(fā)、測(cè)試和上線至關(guān)重要。Spring Boot作為一種快速開(kāi)發(fā)框架,提供了方便的打包工具和內(nèi)嵌式的Web服務(wù)器,使得打包和運(yùn)行變得更加簡(jiǎn)單。本文將研究在Spring Boot應(yīng)用中如何進(jìn)行打包,幫助開(kāi)發(fā)者構(gòu)建高效的部署流程。
打包Spring Boot 應(yīng)用
Spring Boot 提供了多種方式來(lái)打包應(yīng)用,常見(jiàn)的有 Maven 插件和 Gradle 插件。以下以 Maven 為例:
Maven 插件
在項(xiàng)目的 pom.xml
文件中,添加 Maven 插件配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
通過(guò)執(zhí)行以下命令進(jìn)行打包:
mvn clean package
打包完成后,會(huì)在 target
目錄下生成可執(zhí)行的 JAR 文件。
運(yùn)行Spring Boot 應(yīng)用
Spring Boot 應(yīng)用可以通過(guò)多種方式運(yùn)行,包括使用內(nèi)嵌的 Web 服務(wù)器、作為 WAR 文件部署到外部 Servlet 容器等。
使用內(nèi)嵌的 Web 服務(wù)器
執(zhí)行以下命令運(yùn)行應(yīng)用:
java -jar your-application.jar
//或
java –jar your-application.jar --server.port=80
//或
java –jar springboot.jar –-server.port=80 --logging.level.root=debug
這將啟動(dòng)嵌入式的 Tomcat 服務(wù)器,并運(yùn)行 Spring Boot 應(yīng)用。
外部 Servlet 容器
如果希望將應(yīng)用部署到外部 Servlet 容器,需要將應(yīng)用打包為 WAR 文件。在 pom.xml
中添加以下配置:
<packaging>jar</packaging>
//修改為
<packaging>war</packaging>
?引入依賴(lài)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 去除內(nèi)嵌tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加servlet的依賴(lài)-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
添加啟動(dòng)類(lèi)
如果是 war 包發(fā)布,需要增加 SpringBootServletInitializer ?類(lèi),并重寫(xiě)其 configure?法,或者將 main 函數(shù)所在的類(lèi)繼承 SpringBootServletInitializer , 并重寫(xiě)configure ?法當(dāng)時(shí)打包為 war 時(shí)上傳到 tomcat 服務(wù)器中訪問(wèn)項(xiàng)?始終報(bào) 404 錯(cuò)就是忽略了這個(gè)步驟?。?!
@SpringBootApplication
public class JavaToJarAdmin extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(JavaToJarAdmin.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(JavaToJarAdmin.class);
}
}
然后執(zhí)行 Maven 命令進(jìn)行打包:
mvn clean package
打包完成后,會(huì)在 target
目錄下生成可執(zhí)行的 WAR文件。?
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-809572.html



將項(xiàng)?打成 war 包,部署到外部的 tomcat 中,這個(gè)時(shí)候,不能直接訪問(wèn) spring boot 項(xiàng)?中配置?件配置的端?。 application.yml 中配置的 server.port 配置的 是spring boot 內(nèi)置的 tomcat 的端?號(hào) , 打成 war 包部署在獨(dú)?的 tomcat 上之后 , 配置的server.port 是不起作?的。?定要注意這?點(diǎn)。
結(jié)語(yǔ)
通過(guò)本文的介紹,你學(xué)會(huì)了如何使用 Maven 插件打包 Spring Boot 應(yīng)用,靈活的打包和部署。結(jié)合內(nèi)嵌的 Web 服務(wù)器和外部 Servlet 容器,將有助于構(gòu)建一個(gè)穩(wěn)定可靠的部署流程,提高開(kāi)發(fā)和運(yùn)維效率。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-809572.html
到了這里,關(guān)于Spring Boot程序的打包與運(yùn)行:構(gòu)建高效部署流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!