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

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

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

瀏覽:196日期: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久久,三上悠亚国产精品一区二区三区
一区二区亚洲视频| 亚洲精选91| 99精品在线观看| 亚洲一区欧美二区| 国产精品欧美在线观看| 国产精品网站在线看| 影视先锋久久| 日韩欧美三区| 首页国产精品| 日韩av成人高清| 极品av在线| 日韩精品专区| 精品日韩视频| 欧美久久精品一级c片| 亚洲高清二区| 蜜臀av亚洲一区中文字幕| 亚洲丝袜啪啪| 亚洲最新av| 国产欧美日韩一级| 精品成av人一区二区三区 | 国产99久久| 亚洲精品一区二区在线看| 免费人成黄页网站在线一区二区| 亚洲精品三级| 久久超碰99| 另类中文字幕国产精品| 午夜影院欧美| 亚洲精品国产精品粉嫩| 国产精品久久久久77777丨| 成人片免费看| 国产白浆在线免费观看| 亚洲免费黄色| 奇米亚洲欧美| 成人台湾亚洲精品一区二区| 激情欧美国产欧美| 日韩精品欧美大片| 久久精品亚洲| 婷婷综合网站| 青青在线精品| 成人福利av| 先锋影音久久久| 国产精品久久国产愉拍| 日韩欧美一区二区三区在线观看| 国产亚洲毛片| 麻豆精品久久久| 1000部精品久久久久久久久| 日韩精品欧美大片| 久久精品1区| 日韩精品亚洲专区在线观看| 日韩精品2区| 日韩高清不卡一区| 99精品小视频| 国产精品白丝av嫩草影院| 日本高清不卡一区二区三区视频| 日韩一区精品视频| 正在播放日韩精品| 亚洲精品麻豆| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产精品中文字幕亚洲欧美| 中文字幕在线视频网站| 一区二区三区四区日韩| 国产一区一一区高清不卡| 欧美综合国产| 伊伊综合在线| 日韩精品免费一区二区夜夜嗨| 在线人成日本视频| 欧美亚洲tv| 午夜国产一区二区| 精品国产一区二区三区性色av| 99视频精品| 精品午夜视频| 日韩中出av| av一区二区高清| 色欧美自拍视频| 亚洲精品第一| 亚洲午夜久久久久久尤物| 国产精品亚洲欧美一级在线| 亚洲一区二区网站| 日韩在线观看不卡| 国产精品久久国产愉拍| 在线精品视频一区| 久久久久蜜桃| 国产一区二区三区四区五区| 日韩精品第一| 国产精品美女| 婷婷成人在线| 国产成人免费精品| 日韩国产在线观看一区| 好吊日精品视频 | 四虎影视精品| 欧美激情综合| 日韩激情av在线| 老司机久久99久久精品播放免费| 日本国产精品| 色乱码一区二区三区网站| 国产日韩高清一区二区三区在线 | 日韩国产精品久久久| 欧美专区18| 夜久久久久久| 99精品一区| 亚洲精品在线影院| 国产不卡人人| 福利片在线一区二区| 国产精品www.| 国产伦精品一区二区三区千人斩| 日韩精品一区第一页| 欧美日韩四区| 婷婷激情综合| 免费欧美一区| 久久国产小视频| 成人久久一区| 日韩一区亚洲二区| 日韩免费小视频| 色综合www| 国产亚洲一区二区手机在线观看 | 日本在线视频一区二区| 热久久久久久久| 欧美专区18| 爽好久久久欧美精品| 亚洲色诱最新| 日韩精品一卡二卡三卡四卡无卡| 女主播福利一区| 日韩亚洲国产欧美| 麻豆久久精品| 亚洲日韩中文字幕一区| 日韩一区精品| 日韩不卡一二三区| **爰片久久毛片| 久久丁香四色| av资源中文在线| 久久高清精品| 黄色成人精品网站| 午夜在线视频一区二区区别 | 红桃视频国产一区| 丝袜美腿亚洲色图| 日本亚州欧洲精品不卡| 日本午夜免费一区二区| 国产乱论精品| 欧美xxxx中国| 欧美日韩国产一区二区三区不卡| 国模 一区 二区 三区| 91精品99| 亚洲精品影视| 国产精品magnet| 中国字幕a在线看韩国电影| 日韩精品影视| 性一交一乱一区二区洋洋av| 日韩毛片网站| 老司机免费视频一区二区| 亚洲精品福利电影| 精品在线播放| 日本成人手机在线| 精品久久美女| 99久久精品费精品国产| 亚洲欧美视频| 日韩精品亚洲专区| 国产精品麻豆成人av电影艾秋| 国产一区2区| 合欧美一区二区三区| 日韩精选在线| 美女久久久久久| 日韩不卡免费高清视频| 久久最新视频| 国产毛片一区二区三区| 日本久久综合| 亚洲免费婷婷| 久久av综合| 伊人精品视频| 国产日韩欧美在线播放不卡| 久久影院午夜精品| 国产一在线精品一区在线观看| 国产精品腿扒开做爽爽爽挤奶网站| 亚久久调教视频| 国产一区二区色噜噜| 成人av动漫在线观看| 国产欧美自拍| 亚洲国内精品| 日韩黄色免费网站| 高清不卡亚洲| 亚洲一二三区视频| 一区二区三区四区日本视频| 美女精品网站| 精品视频黄色| 巨乳诱惑日韩免费av| 精品久久久网| 伊人久久亚洲热| 久久99青青| 羞羞答答国产精品www一本| 国内精品伊人| 亚洲免费专区| 日韩精品dvd| 偷拍亚洲精品| 日本高清不卡一区二区三区视频| 男人的天堂久久精品| 久久精品日韩欧美| 日韩制服丝袜先锋影音| 欧美亚洲日本精品| 日本成人在线不卡视频| 国产99久久| 老牛国内精品亚洲成av人片|