您好,登錄后才能下訂單哦!
這篇文章主要講解了“java Springboot項目打包的方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java Springboot項目打包的方法是什么”吧!
通過maven打包,可以打成jar、war、ear三種,但是常見的是jar、war包
1、打成jar包:
(1)好處
此處我們通過命令窗口來執行package命令,//注意進入到spring-boot-app項目的目錄下執行命令:
D:\Workspace_IDEA\spring-boot-app> mvn -Dmaven.test.skip -U clean package
(2)通過java -jar 命令執行jar包
執行jar包:打成的jar包默認放到target目錄下,此時我們進入到target目錄下執行命令:
D:\Workspace_IDEA\spring-boot-app\web\target> java -jar web-0.0.1-SNAPSHOT.jar
這種啟動方式:稱之為jar包的啟動方式
此時,該項目就啟動了,我們可以通過postman等工具來調用接口進行訪問了
2、打成war包
好處:打成war包,我們也可以通過java -jar的方式來啟動,并進行訪問;當然了另一個好處就是,war包可以放在tomcat、jboss容器中運行
maven默認是打成jar包的,如果要打成war包,我們需要在pom中指定打包方式為war的格式:
<packaging>war</packaging>
3、補充:
打包:需要在項目的目錄下執行package命令,因為項目的目錄下有pom文件,該文件中有maven的插件等 執行jar包、war包:需要進入到對應的target目錄下,很簡單,因為打成的jar、war被放在了target目錄下,我們只有進入到了target目錄,才可以看到對應的jar、war文件,才可以對其進行執行
1、mvn package:
進行打包,我們可以在target目錄下可到對應的jar包、war包
2、mvn install命令:
進行打包,并將打好的jar、或者war包放到本地倉庫中
3、舉例:
spring-boot-app項目,由web、repository、model三個模塊組成。
web模塊依賴persistence、而persistence又依賴model模塊;web模塊的打包方式是war,model、persistence模塊的打包方式是jar
此時我們執行install命令的效果是:
spring-boot-app項目下:web、persistence、model在各自的target目錄下,生成相對應的war、persistence-0.0.1-SNAPSHOT.jar、model-0.0.1-SNAPSHOT.jar
同時在本地倉庫中:web、persistence、model的目錄下,會對應生成相應的web-0.0.1-SNAPSHOT.war、persistence-0.0.1-SNAPSHOT.jar、model-0.0.1-SNAPSHOT.jar
i>:此時我們需要webapp目錄,該目錄與src/main、src/resource對應,因為maven的web項目默認的webroot是在src\main\webapp
ii>:在webapp目錄下,創建WEB-INF/web.xml
這樣才可以打包成功,及時web.xml是空的內容,什么也沒有,但是這樣可以保證maven的打包是成功的
我們需要檢查Maven的配置,settings.xml中localRepository最好寫成絕對路徑,如果是相對路徑的話,可能會造成問題:
eg:setting.xml:
<localRepository>../apache-maven-3.3.9/.m2/repository</localRepository>
項目的位置:
D:\Workspace_IDEA\spring-boot-app
我們在spring-boot-app項目下install的話,就有可能不會將打包后的文件放到本地倉庫中去,而是放到了當前位置的上一層目錄,然后創建apache-maven-3.3.9/.m2/repository目錄,將打好的包放進去,
這有可能導致我們通過maven插件啟動springboot項目時候,出錯說找不到依賴
感謝各位的閱讀,以上就是“java Springboot項目打包的方法是什么”的內容了,經過本文的學習后,相信大家對java Springboot項目打包的方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。