springboot項目打包發(fā)布部署的過程及jar和war的區(qū)別
簡介:
1.Spring Boot使用了內(nèi)嵌容器,因此它的部署方式也變得非常簡單靈活,可以將Spring Boot項目打包成JAR包來獨立運行,也可以打包成WAR包部署到Tomcat容器中運行,如果涉及大規(guī)模的部署,Jenkins成為最佳選擇之一。
生成jar包
Maven默認會將項目打成JAR包,也可以在pom.xml文件中指定打包方式。配置示例如下:

生成war包
Spring Boot項目既可以生成WAR包發(fā)布,也可以生成JAR包發(fā)布。那么它們有什么區(qū)別呢?
JAR包:通過內(nèi)置Tomcat運行,不需要額外安裝Tomcat。如果需修改內(nèi)置Tomcat的配置,只需要在Spring Boot的配置文件中配置即可。內(nèi)置Tomcat沒有自己的日志輸出,全靠JAR包應(yīng)用輸出日志,但是部署簡單方便,適合快速部署。
WAR包:傳統(tǒng)的應(yīng)用交付方式,需要安裝Tomcat,然后將WAR包放到webapps目錄下運行,這樣可以靈活選擇Tomcat版本,也可以直接修改Tomcat的配置,同時有自己的Tomcat日志輸出,可以靈活配置安全策略。WAR包相對JAR包來說沒那么快速方便。
更改配置

排除tomcat
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
在上面的示例中,將Tomcat組件的scope屬性設(shè)置為provided,這樣在打包產(chǎn)生的WAR中就不會包含Tomcat相關(guān)的JAR。
注冊啟動類
@SpringBootApplication
public class PackageApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(PackageApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(PackageApplication.class, args);
}
}打包命令
在項目根目錄下,在控制臺執(zhí)行如下命令:
mvn clean package -Dmaven.test.skip=true
1)mvn clean package其實是兩條命令,mvn clean用于清除項目target目錄下的文件,mvn package是打包命令。兩個命令可以一起執(zhí)行。
2)-Dmaven.test.skip=true:排除測試代碼后進行打包。
將打包好的WAR包復制到Tomcat服務(wù)器中的webapps目錄下啟動即可。
啟動運行



到此這篇關(guān)于springboot項目的打包發(fā)布部署,jar和war的區(qū)別的文章就介紹到這了,更多相關(guān)springboot部署jar和war的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java操作XML轉(zhuǎn)JSON數(shù)據(jù)格式詳細代碼實例
在Java中我們可以使用一些現(xiàn)成的庫來實現(xiàn)XML到JSON的轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于Java操作XML轉(zhuǎn)JSON數(shù)據(jù)格式的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-04-04
Echarts+SpringMvc顯示后臺實時數(shù)據(jù)
這篇文章主要為大家詳細介紹了Echarts+SpringMvc顯示后臺實時數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-12
IDEA使用SequenceDiagram插件繪制時序圖的方法
這篇文章主要介紹了IDEA使用SequenceDiagram插件繪制時序圖的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
POI讀取excel簡介_動力節(jié)點Java學院整理
這篇文章主要介紹了POI讀取excel簡介,詳細的介紹了什么是Apache POI和組件,有興趣的可以了解了解一下2017-08-08
IDEA報錯java.lang.OutOfMemoryError:Java?heap?space的解決辦法
這篇文章主要給大家介紹了關(guān)于IDEA報錯java.lang.OutOfMemoryError:Java?heap?space的解決辦法,出現(xiàn)這個問題的主要原因是項目運行時的堆內(nèi)存不足引起的報錯,需要的朋友可以參考下2024-02-02

