新聞中心
小編這次要給大家分享的是Spring boot打包jar如何分離lib和resources,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為定結(jié)等服務(wù)建站,定結(jié)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為定結(jié)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
為什么要配置、依賴文件分離:
1.在傳統(tǒng)jar包中,所有文件都打包到一個(gè)jar包中,jar非常臃腫,在進(jìn)行服務(wù)更新部署時(shí)非常不便,而且傳輸不穩(wěn)定時(shí)導(dǎo)致傳輸失敗。如果過(guò)實(shí)行文件分離、在依賴不改變的情況下,僅僅上傳更新后的 編譯文件是非常方便的。
如果要修改一些配置文件:properties、xml,靜態(tài)文件等可以直接在服務(wù)器上編輯。
那么怎么實(shí)行配置、依賴文件分離呢?
插件介紹
- maven-jar-plugin 這個(gè)插件式專門用來(lái)打包用的,可以配置需要打包進(jìn)去的文件,程序的入口類等。
- maven-resources-plugin 這個(gè)插件是用來(lái)拷貝資源文件的。
- maven-maven-dependency-plugin 這個(gè)插件是用來(lái)拷貝依賴庫(kù)的。
- maven-assembly-plugin 可以說(shuō)包含了以上插件的功能,但是可以做到更精細(xì)的控制。
- spring-boot-maven-plugin 這個(gè)不用說(shuō),springboot 項(xiàng)目最重要的插件,整個(gè)項(xiàng)目的打包處理過(guò)程還是要依附于它。
打包成可執(zhí)行jar,不僅僅局限SpringBoot項(xiàng)目(主入口函數(shù)存在)
maven-jar-plugin 插件打包jar
在pom文件中配置,但是這樣 依賴的jar并不會(huì)打進(jìn)來(lái)(后面會(huì)有解決方法),適用不需要依賴文件的項(xiàng)目。
org.apache.maven.plugins maven-jar-plugin 2.3 true xxx.xxx.Main ${project.build.directory}
maven-assembly-plugin 插件打包jar
maven-assembly-plugin false jar-with-dependencies xxx.xxx.Main make-assembly package assembly
打包SpringBoot 項(xiàng)目
方案一、
org.apache.maven.plugins maven-jar-plugin true lib/ false xxx.xxx.Application /resources ${project.build.directory}/dis org.apache.maven.plugins maven-dependency-plugin copy-dependencies package copy-dependencies ${project.build.directory}/dis/lib/ maven-resources-plugin copy-resources package copy-resources src/main/resources ${project.build.directory}/dis/resources org.springframework.boot spring-boot-maven-plugin ZIP true repackage
方案二
這里依賴assembly.xml 描述文件
maven-assembly-plugin false assembly.xml ${project.build.directory}/dist/ make-assembly package single org.apache.maven.plugins maven-jar-plugin xxx.xxx.Application lib/ true resources/
assembly.xml
distribution zip false src/main/resources/ /resources /lib runtime ${project.groupId}:${project.artifactId} / ${project.groupId}:${project.artifactId}
看完這篇關(guān)于Spring boot打包jar如何分離lib和resources的文章,如果覺(jué)得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。
文章名稱:Springboot打包jar如何分離lib和resources
文章源于:http://www.ef60e0e.cn/article/gdoopp.html