springboot項(xiàng)目打包發(fā)布部署的過(guò)程及jar和war的區(qū)別
簡(jiǎn)介:
1.Spring Boot使用了內(nèi)嵌容器,因此它的部署方式也變得非常簡(jiǎn)單靈活,可以將Spring Boot項(xiàng)目打包成JAR包來(lái)獨(dú)立運(yùn)行,也可以打包成WAR包部署到Tomcat容器中運(yùn)行,如果涉及大規(guī)模的部署,Jenkins成為最佳選擇之一。
生成jar包
Maven默認(rèn)會(huì)將項(xiàng)目打成JAR包,也可以在pom.xml文件中指定打包方式。配置示例如下:
生成war包
Spring Boot項(xiàng)目既可以生成WAR包發(fā)布,也可以生成JAR包發(fā)布。那么它們有什么區(qū)別呢?
JAR包:通過(guò)內(nèi)置Tomcat運(yùn)行,不需要額外安裝Tomcat。如果需修改內(nèi)置Tomcat的配置,只需要在Spring Boot的配置文件中配置即可。內(nèi)置Tomcat沒(méi)有自己的日志輸出,全靠JAR包應(yīng)用輸出日志,但是部署簡(jiǎn)單方便,適合快速部署。
WAR包:傳統(tǒng)的應(yīng)用交付方式,需要安裝Tomcat,然后將WAR包放到webapps目錄下運(yùn)行,這樣可以靈活選擇Tomcat版本,也可以直接修改Tomcat的配置,同時(shí)有自己的Tomcat日志輸出,可以靈活配置安全策略。WAR包相對(duì)JAR包來(lái)說(shuō)沒(méi)那么快速方便。
更改配置
排除tomcat
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
在上面的示例中,將Tomcat組件的scope屬性設(shè)置為provided,這樣在打包產(chǎn)生的WAR中就不會(huì)包含Tomcat相關(guān)的JAR。
注冊(cè)啟動(dòng)類(lèi)
@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); } }
打包命令
在項(xiàng)目根目錄下,在控制臺(tái)執(zhí)行如下命令:
mvn clean package -Dmaven.test.skip=true
1)mvn clean package其實(shí)是兩條命令,mvn clean用于清除項(xiàng)目target目錄下的文件,mvn package是打包命令。兩個(gè)命令可以一起執(zhí)行。
2)-Dmaven.test.skip=true:排除測(cè)試代碼后進(jìn)行打包。
將打包好的WAR包復(fù)制到Tomcat服務(wù)器中的webapps目錄下啟動(dòng)即可。
啟動(dòng)運(yùn)行
到此這篇關(guān)于springboot項(xiàng)目的打包發(fā)布部署,jar和war的區(qū)別的文章就介紹到這了,更多相關(guān)springboot部署jar和war的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot使用hutool操作FTP的詳細(xì)過(guò)程
在使用SpringBoot結(jié)合hutool操作FTP時(shí),遇到防火墻導(dǎo)致上傳文件大小為0kb的問(wèn)題,通過(guò)設(shè)置FTP為被動(dòng)模式解決,本文詳細(xì)解析了FTP的主動(dòng)模式和被動(dòng)模式的工作原理、安全性及適用場(chǎng)景,幫助理解FTP的連接方式和解決網(wǎng)絡(luò)限制問(wèn)題2024-09-09Java操作XML轉(zhuǎn)JSON數(shù)據(jù)格式詳細(xì)代碼實(shí)例
在Java中我們可以使用一些現(xiàn)成的庫(kù)來(lái)實(shí)現(xiàn)XML到JSON的轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于Java操作XML轉(zhuǎn)JSON數(shù)據(jù)格式的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04Echarts+SpringMvc顯示后臺(tái)實(shí)時(shí)數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Echarts+SpringMvc顯示后臺(tái)實(shí)時(shí)數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12IDEA使用SequenceDiagram插件繪制時(shí)序圖的方法
這篇文章主要介紹了IDEA使用SequenceDiagram插件繪制時(shí)序圖的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09POI讀取excel簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了POI讀取excel簡(jiǎn)介,詳細(xì)的介紹了什么是Apache POI和組件,有興趣的可以了解了解一下2017-08-08idea運(yùn)行vue項(xiàng)目設(shè)置自定義瀏覽器方式
這篇文章主要介紹了idea運(yùn)行vue項(xiàng)目設(shè)置自定義瀏覽器方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08IDEA報(bào)錯(cuò)java.lang.OutOfMemoryError:Java?heap?space的解決辦法
這篇文章主要給大家介紹了關(guān)于IDEA報(bào)錯(cuò)java.lang.OutOfMemoryError:Java?heap?space的解決辦法,出現(xiàn)這個(gè)問(wèn)題的主要原因是項(xiàng)目運(yùn)行時(shí)的堆內(nèi)存不足引起的報(bào)錯(cuò),需要的朋友可以參考下2024-02-02