概述
关于spring boot的maven项目打成jar包时,分离配置文件和依赖jar包的事情,本来网上找找资料一会就能搞定的,但是搜索了好多资料都是基本只能够实现配置文件分离的,依赖jar还是没分离出来。最后通过瘦身jar相关的文档和maven plugins相关文档理解一些配置的信息,然后找到了一个方法,分享给大家,转载连接在最后。
1、需要到的maven plugins
spring-boot-maven-plugin:用于分离依赖jar
maven-jar-plugin:用力分离配置文件和指定main class
maven-dependency-plugin:拷贝依赖jar文件
注:网上很多资料都是只配置maven-jar-plugin和maven-dependency-plugin就说可以了,其实只是把依赖jar拷贝了一份出来放在lib文件夹下,打包的jar包中依然存在lib,没有真正分离。
2、配置文件详解
分离后配置文件只需要放在jar包同级的config(加载优先级最高)目录下即可,依赖jar放在lib下,启动命令网上很多,我这里就不多说了
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<!--去除在生产环境中不变的依赖,我此处把所有的依赖jar都去除-->
<excludeGroupIds>
org.springframework.boot,
org.springframework,
org.springframework.data
......
</excludeGroupIds>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<useUniqueVersions>false</useUniqueVersions>
<!-- 配置spring boot applincation class的路径,即启动的main -->
<mainClass>com.wonders.insight.individual.PbankCloudInsightIndividualApplication</mainClass>
</manifest>
</archive>
<!--打包时排除配置文件,此处默认的路径是编译后classes路径,resources默认在classPath下,所以下面只用匹配文件即可-->
<excludes>
<exclude>*.properties</exclude>
<exclude>*.yml</exclude>
<exclude>*.xml</exclude>
<exclude>mapping/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<!-- 此处执行的作用是将依赖jar包拷贝一份存储在target/lib中
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 拷贝依赖jar存储位置,${project.build.directory}为Maven内置变量,缺省为target -->
<outputDirectory> ${project.build.directory}/lib </outputDirectory>
<!-- 此处还根据需求添加其他配置,如excludeTransitive、stripVersion等 -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
3、参考文档
详细maven打包插件的配置释义:maven打包插件:maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin详解
jar瘦身参考:【SpringBoot】迭代发布下的Jar瘦身实践
最后
以上就是称心往事为你收集整理的maven打包spring boot时分离配置文件和依赖jar文件的全部内容,希望文章能够帮你解决maven打包spring boot时分离配置文件和依赖jar文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复