日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring boot打包jar分離lib和resources方法實例

瀏覽:200日期:2023-09-05 13:35:38

為什么要配置、依賴文件分離:

1.在傳統jar包中,所有文件都打包到一個jar包中,jar非常臃腫,在進行服務更新部署時非常不便,而且傳輸不穩定時導致傳輸失敗。如果過實行文件分離、在依賴不改變的情況下,僅僅上傳更新后的 編譯文件是非常方便的。

如果要修改一些配置文件:properties、xml,靜態文件等可以直接在服務器上編輯。

那么怎么實行配置、依賴文件分離呢?

插件介紹

maven-jar-plugin 這個插件式專門用來打包用的,可以配置需要打包進去的文件,程序的入口類等。 maven-resources-plugin 這個插件是用來拷貝資源文件的。 maven-maven-dependency-plugin 這個插件是用來拷貝依賴庫的。 maven-assembly-plugin 可以說包含了以上插件的功能,但是可以做到更精細的控制。 spring-boot-maven-plugin 這個不用說,springboot 項目最重要的插件,整個項目的打包處理過程還是要依附于它。

打包成可執行jar,不僅僅局限SpringBoot項目(主入口函數存在)

maven-jar-plugin 插件打包jar

在pom文件中配置,但是這樣 依賴的jar并不會打進來(后面會有解決方法),適用不需要依賴文件的項目。

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>2.3</version><configuration> <archive> <manifest> <!--是否添加依賴--> <addClasspath>true</addClasspath> <!--設置啟動類--> <mainClass>xxx.xxx.Main</mainClass> </manifest> </archive> <!--設置生成jar輸出位置--> <outputDirectory>${project.build.directory}</outputDirectory></configuration> </plugin>

maven-assembly-plugin 插件打包jar

<plugin><artifactId>maven-assembly-plugin</artifactId><configuration> <!--不添加AssemblyId--> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> <!--配置打包的時候一并打包依賴jar--> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <!--入口類--> <mainClass>xxx.xxx.Main</mainClass> </manifest> </archive></configuration><executions> <execution> <id>make-assembly</id> <!--綁定生命周期--> <phase>package</phase> <goals> <!--執行assembly --> <goal>assembly</goal> </goals> </execution></executions> </plugin>

打包SpringBoot 項目

方案一、

<plugins> <!--打包jar--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration><archive> <manifest> <addClasspath>true</addClasspath> <!--MANIFEST.MF 中 Class-Path 加入前綴--> <classpathPrefix>lib/</classpathPrefix> <!--jar包不包含唯一版本標識--> <useUniqueVersions>false</useUniqueVersions> <!--指定入口類--> <mainClass>xxx.xxx.Application</mainClass> </manifest> <manifestEntries> <!--MANIFEST.MF 中 Class-Path 加入資源文件目錄--> <Class-Path>/resources</Class-Path> </manifestEntries></archive><outputDirectory>${project.build.directory}/dis</outputDirectory> </configuration> </plugin> <!--拷貝依賴 copy-dependencies--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions><execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/dis/lib/ </outputDirectory> </configuration> </execution></executions> </plugin> <!--拷貝資源文件 copy-resources--> <plugin><artifactId>maven-resources-plugin</artifactId><executions> <execution> <id>copy-resources</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources><resource> <directory>src/main/resources</directory></resource> </resources> <outputDirectory>${project.build.directory}/dis/resources</outputDirectory> </configuration> </execution></executions> </plugin> <!--spring boot repackage,依賴 maven-jar-plugin 打包的jar包 重新打包成 spring boot 的jar包--> <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration> <layout>ZIP</layout> <!--使用外部配置文件,jar包里沒有資源文件--> <addResources>true</addResources></configuration><executions> <execution> <goals> <goal>repackage</goal> </goals> </execution></executions> </plugin> </plugins> </build>

方案二

這里依賴assembly.xml 描述文件

<plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptors><descriptor>assembly.xml</descriptor> </descriptors> <outputDirectory>${project.build.directory}/dist/</outputDirectory> </configuration> <executions> <execution><id>make-assembly</id><phase>package</phase><goals> <goal>single</goal></goals> </execution> </executions> </plugin> <!-- 打包成jar文件,并指定lib文件夾以及resources資源文件夾 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive><manifest> <mainClass>xxx.xxx.Application</mainClass> <!--依賴前綴--> <classpathPrefix>lib/</classpathPrefix> <addClasspath>true</addClasspath></manifest><manifestEntries> <Class-Path>resources/</Class-Path></manifestEntries> </archive> </configuration> </plugin></plugins>

assembly.xml

<assembly xmlns='http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd'> <id>distribution</id> <!--輸出格式 zip 最終結果生成zip --> <formats> <format>zip</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <!--設置需要輸出文件--> <fileSets> <fileSet> <directory>src/main/resources/</directory> <outputDirectory>/resources</outputDirectory> </fileSet> </fileSets> <dependencySets> <dependencySet> <!--依賴包的輸出目錄--> <outputDirectory>/lib</outputDirectory> <scope>runtime</scope> <excludes><exclude>${project.groupId}:${project.artifactId}</exclude> </excludes> </dependencySet> <dependencySet> <!--jar包的輸出目錄--> <outputDirectory>/</outputDirectory> <includes><include>${project.groupId}:${project.artifactId}</include> </includes> </dependencySet> </dependencySets></assembly>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
香蕉久久国产| 神马午夜久久| 蜜桃视频免费观看一区| 国产精品传媒麻豆hd| 国产精品4hu.www| 精品美女在线视频| 欧美亚洲日本精品| 国产日韩综合| 国产色99精品9i| 久久电影tv| 亚洲视频播放| 国产精品一区免费在线| 日韩在线高清| 亚洲视频二区| 精品久久免费| 亚洲欧洲一区| 国产精品一区免费在线| 天堂av在线| 在线视频观看日韩| 日韩一区二区三区高清在线观看| 国产精品久久久网站| 亚洲精品一区三区三区在线观看| 黄色精品网站| 国产精品一区亚洲| 久久一区二区三区电影| 日本不卡的三区四区五区| 精品久久久中文字幕| 在线视频日韩| 久久99国产精品视频| 亚洲免费网址| 精品精品久久| 影音先锋久久精品| 欧美精品高清| 亚洲人www| 亚洲黄色中文字幕| 亚洲精品大全| 久久婷婷亚洲| 国产精品久久久久av蜜臀| 在线精品亚洲欧美日韩国产| 在线观看亚洲精品福利片| 精品一区二区三区中文字幕| aⅴ色国产欧美| 久久久久久久欧美精品| 天堂√中文最新版在线| 天堂成人免费av电影一区| 精品国产亚洲日本| 日韩中文字幕1| 91亚洲人成网污www| 亚洲精品日本| 亚洲国产不卡| 黄色网一区二区| 日韩精品三级| 国产一区成人| 久久国产精品成人免费观看的软件| 日韩高清电影免费| 亚洲国产成人精品女人| 日韩综合在线| 蜜臀久久99精品久久久久久9| 精品精品久久| 国产精品videossex| 男女性色大片免费观看一区二区 | 99久久激情| 精品一区视频| 国产欧美另类| 日韩精品成人在线观看| 亚洲一区日韩在线| 99精品综合| 伊人久久av| 里番精品3d一二三区| 国产亚洲精品久久久久婷婷瑜伽| 首页国产精品| 精品国产aⅴ| 欧美激情aⅴ一区二区三区| 亚洲91网站| 丝袜美腿亚洲色图| 亚洲一区二区动漫| 亚洲精品888| 久久影院一区| 成人羞羞视频在线看网址| 国产va免费精品观看精品视频| 国产精品一区免费在线| 欧美日韩中出| 国产免费播放一区二区| 色8久久久久| 久久亚洲风情| 男人天堂欧美日韩| 免费成人在线影院| 亚洲精品日韩久久| 亚洲久久在线| 日韩一区二区三区免费视频| 亚洲乱亚洲高清| 日韩国产高清在线| 国产亚洲一区二区三区不卡| 国产欧美日韩在线一区二区 | 精品亚洲免a| 欧美久久久网站| 久久国产麻豆精品| 国产精品宾馆| 成人台湾亚洲精品一区二区| 国产精品毛片一区二区在线看| 国产一区福利| 日韩在线看片| 不卡在线一区二区| 在线精品亚洲| 国产精品国产三级在线观看| 久久精品伊人| 日韩精品麻豆| 国产一区导航| 欧美日韩一区二区国产 | 亚洲成人精选| 蜜桃传媒麻豆第一区在线观看| 免费视频一区二区| 欧美在线看片| 精品国产麻豆| 国产综合婷婷| 亚洲一级大片| 国产精一区二区| 中国字幕a在线看韩国电影| 丝袜美腿诱惑一区二区三区| 国产一区91| 亚洲理论在线| 首页亚洲欧美制服丝腿| 日韩va亚洲va欧美va久久| 久久精品人人| 国产欧美日韩综合一区在线播放| 国产日韩欧美| 亚洲精品在线影院| 蜜臀久久99精品久久久画质超高清 | 五月亚洲婷婷 | 欧美综合国产| 国产精品一站二站| 成人午夜亚洲| 亚洲欧美日韩精品一区二区 | 日本在线成人| 鲁鲁在线中文| 一区二区三区国产在线| 美腿丝袜亚洲三区| 亚洲精品网址| 久久的色偷偷| 伊人久久成人| 美女国产一区二区三区| 成人国产精品久久| 蜜桃久久久久久| 日本久久综合| 亚欧成人精品| 国产99亚洲| 国产欧美自拍一区| 好吊一区二区三区| 美女高潮久久久| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕乱码亚洲无线精品一区| 久久精品99国产精品日本| se01亚洲视频| 偷拍亚洲精品| 91精品国产自产在线观看永久∴| 日韩av三区| 黑丝一区二区| 国产中文字幕一区二区三区| 亚洲免费成人av在线| 另类专区亚洲| 国产亚洲高清一区| 久久亚洲色图| 欧美亚洲色图校园春色| 尹人成人综合网| 久久99国产精品视频| 国产亚洲在线| 日本美女一区| 精品视频一区二区三区在线观看 | 欧美91视频| 中文字幕成在线观看| 日韩精品一级中文字幕精品视频免费观看| 国产视频亚洲| 日本久久成人网| 国产一区二区三区久久久久久久久| 亚洲aⅴ网站| 国产精品毛片在线看| 天堂日韩电影| 麻豆一区二区在线| 欧美一区91| 好看不卡的中文字幕| 日本不卡免费高清视频在线| 国产欧美在线| 婷婷综合电影| 香蕉久久夜色精品国产| 亚洲一本视频| 欧美性感美女一区二区| 国产乱人伦丫前精品视频| 综合一区在线| 好看的亚洲午夜视频在线| 夜鲁夜鲁夜鲁视频在线播放| 精品中文字幕一区二区三区| 国产精品久久久免费| 7777精品| 日本精品一区二区三区在线观看视频| 亚洲神马久久| 婷婷综合在线| 91精品成人| 亚洲激情不卡| 亚洲资源av| 麻豆精品网站|