新聞中心
這篇文章主要講解了“java Springboot項(xiàng)目打包的方法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“java Springboot項(xiàng)目打包的方法是什么”吧!
一、打包方式
通過maven打包,可以打成jar、war、ear三種,但是常見的是jar、war包
1、打成jar包:
(1)好處
此處我們通過命令窗口來(lái)執(zhí)行package命令,//注意進(jìn)入到spring-boot-app項(xiàng)目的目錄下執(zhí)行命令:
D:\Workspace_IDEA\spring-boot-app> mvn -Dmaven.test.skip -U clean package
(2)通過java -jar 命令執(zhí)行jar包
執(zhí)行jar包:打成的jar包默認(rèn)放到target目錄下,此時(shí)我們進(jìn)入到target目錄下執(zhí)行命令:
D:\Workspace_IDEA\spring-boot-app\web\target> java -jar web-0.0.1-SNAPSHOT.jar
這種啟動(dòng)方式:稱之為jar包的啟動(dòng)方式
此時(shí),該項(xiàng)目就啟動(dòng)了,我們可以通過postman等工具來(lái)調(diào)用接口進(jìn)行訪問了
2、打成war包
好處:打成war包,我們也可以通過java -jar的方式來(lái)啟動(dòng),并進(jìn)行訪問;當(dāng)然了另一個(gè)好處就是,war包可以放在tomcat、jboss容器中運(yùn)行
maven默認(rèn)是打成jar包的,如果要打成war包,我們需要在pom中指定打包方式為war的格式:
war
3、補(bǔ)充:
打包:需要在項(xiàng)目的目錄下執(zhí)行package命令,因?yàn)轫?xiàng)目的目錄下有pom文件,該文件中有maven的插件等 執(zhí)行jar包、war包:需要進(jìn)入到對(duì)應(yīng)的target目錄下,很簡(jiǎn)單,因?yàn)榇虺傻膉ar、war被放在了target目錄下,我們只有進(jìn)入到了target目錄,才可以看到對(duì)應(yīng)的jar、war文件,才可以對(duì)其進(jìn)行執(zhí)行
二:mvn的package、install命令
1、mvn package:
進(jìn)行打包,我們可以在target目錄下可到對(duì)應(yīng)的jar包、war包
2、mvn install命令:
進(jìn)行打包,并將打好的jar、或者war包放到本地倉(cāng)庫(kù)中
3、舉例:
spring-boot-app項(xiàng)目,由web、repository、model三個(gè)模塊組成。
web模塊依賴persistence、而persistence又依賴model模塊;web模塊的打包方式是war,model、persistence模塊的打包方式是jar
此時(shí)我們執(zhí)行install命令的效果是:
spring-boot-app項(xiàng)目下:web、persistence、model在各自的target目錄下,生成相對(duì)應(yīng)的war、persistence-0.0.1-SNAPSHOT.jar、model-0.0.1-SNAPSHOT.jar
同時(shí)在本地倉(cāng)庫(kù)中:web、persistence、model的目錄下,會(huì)對(duì)應(yīng)生成相應(yīng)的web-0.0.1-SNAPSHOT.war、persistence-0.0.1-SNAPSHOT.jar、model-0.0.1-SNAPSHOT.jar
三、問題
1、springboot項(xiàng)目打包的時(shí)候,如果maven報(bào)錯(cuò)提示:缺少web.xml
i>:此時(shí)我們需要webapp目錄,該目錄與src/main、src/resource對(duì)應(yīng),因?yàn)閙aven的web項(xiàng)目默認(rèn)的webroot是在src\main\webapp
ii>:在webapp目錄下,創(chuàng)建WEB-INF/web.xml
這樣才可以打包成功,及時(shí)web.xml是空的內(nèi)容,什么也沒有,但是這樣可以保證maven的打包是成功的
2、如果是mvn install沒有將打包后的jar、war放到本地倉(cāng)庫(kù)
我們需要檢查Maven的配置,settings.xml中l(wèi)ocalRepository最好寫成絕對(duì)路徑,如果是相對(duì)路徑的話,可能會(huì)造成問題:
eg:setting.xml:
../apache-maven-3.3.9/.m2/repository
項(xiàng)目的位置:
D:\Workspace_IDEA\spring-boot-app
我們?cè)趕pring-boot-app項(xiàng)目下install的話,就有可能不會(huì)將打包后的文件放到本地倉(cāng)庫(kù)中去,而是放到了當(dāng)前位置的上一層目錄,然后創(chuàng)建apache-maven-3.3.9/.m2/repository目錄,將打好的包放進(jìn)去,
這有可能導(dǎo)致我們通過maven插件啟動(dòng)springboot項(xiàng)目時(shí)候,出錯(cuò)說找不到依賴
感謝各位的閱讀,以上就是“java Springboot項(xiàng)目打包的方法是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)java Springboot項(xiàng)目打包的方法是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站標(biāo)題:javaSpringboot項(xiàng)目打包的方法是什么-創(chuàng)新互聯(lián)
鏈接分享:http://ef60e0e.cn/article/dpopsd.html