日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot项目利用maven自定义打包结构

發布時間:2023/12/9 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot项目利用maven自定义打包结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From: https://blog.csdn.net/q15858187033/article/details/80742117

SpringBoot官方提供的demo中,pom.xml文件里引用了官方提供的打包插件

??? <build>
??????? <plugin>
?????????? <groupId>org.springframework.boot</groupId>
?????????? <artifactId>spring-boot-maven-plugin</artifactId>
??????? </plugin>
???? </build>

??????? 通過這種方式打包出來的項目,所有文件都放在一個jar包中。這使得jar包非常臃腫,不利于服務器上部署。這時候就希望在maven打包的時候,把一些結構分離出jar包外。

??????? 例如一個項目的目錄結構是這樣的:,最終想打包變成這種結構。其中resources下的配置文件放在config目錄下,所有的依賴包放在lib下,程序的啟動jar就會變得很小。并且代碼改變之后,只需要將打包出來的jar上傳到服務器替換后再運行就可以了。

??????? 要自定義打包的結構,需要修改pom.xml文件中<build>標簽里的內容

??? <build>
??????????? <finalName>FlightChangeService</finalName>
??????????? <resources>
??????????????? <resource>
??????????????????? <!--指定mapping下的所有xml文件打包在jar中-->
??????????????????? <targetPath>${project.build.directory}/classes</targetPath>
??????????????????? <directory>src/main/resources</directory>
??????????????????? <filtering>true</filtering>
??????????????????? <includes>
??????????????????????? <include>mapping/*.xml</include>
??????????????????? </includes>
??????????????? </resource>
??????????????? <resource>
??????????????????? <!--resources下一級的所有.xml .properties文件復制到config目錄下-->
??????????????????? <targetPath>${project.build.directory}/config</targetPath>
??????????????????? <directory>src/main/resources</directory>
??????????????????? <filtering>true</filtering>
??????????????????? <includes>
??????????????????????? <include>**.xml</include>
??????????????????????? <include>**.properties</include>
??????????????????? </includes>
??????????????? </resource>
??????????? </resources>
??????????? <plugins>
??????????????? <!--maven-dependency插件,將項目所有依賴包放到lib目錄下-->
??????????????? <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>
??????????????????????????????? <type>jar</type>
??????????????????????????????? <includeTypes>jar</includeTypes>
??????????????????????????????? <outputDirectory>
??????????????????????????????????? ${project.build.directory}/lib
??????????????????????????????? </outputDirectory>
??????????????????????????? </configuration>
??????????????????????? </execution>
??????????????????? </executions>
??????????????? </plugin>
??? ?
??????????????? <plugin>
??????????????????? <groupId>org.apache.maven.plugins</groupId>
??????????????????? <artifactId>maven-jar-plugin</artifactId>
??????????????????? <configuration>
??????????????????????? <classesDirectory>target/classes/</classesDirectory>
??????????????????????? <archive>
??????????????????????????? <!--生成的jar中,不要包含pom.xml和pom.properties這兩個文件-->
??????????????????????????? <addMavenDescriptor>false</addMavenDescriptor>
??????????????????????????? <manifest>
??????????????????????????????? <mainClass>com.loongair.Application</mainClass>
??????????????????????????????? <!-- 打包時 MANIFEST.MF文件不記錄的時間戳版本 -->
??????????????????????????????? <useUniqueVersions>false</useUniqueVersions>
??????????????????????????????? <addClasspath>true</addClasspath>
??????????????????????????????? <classpathPrefix>lib/</classpathPrefix>
??????????????????????????? </manifest>
??????????????????????????? <manifestEntries>
??????????????????????????????? <!--jar中的MANIFEST.MF文件ClassPath需要添加config目錄才能讀取到配置文件-->
??????????????????????????????? <Class-Path>config/ .</Class-Path>
??????????????????????????? </manifestEntries>
??????????????????????? </archive>
??????????????????? </configuration>
??????????????? </plugin>
??????????? </plugins>
??????? </build>

??????? 執行maven install之后target目錄下就生成了我們自定義的包結構了

總結

以上是生活随笔為你收集整理的SpringBoot项目利用maven自定义打包结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。