springboot打包JAR包瘦身lib和配置文件分离
最近项目在部署使用的过程中,传输JAR包的时候发现JAR包有点大,传输速度有点慢。
笔者基于这个前提对项目的打包配置进行优化进行探索,一般来说lib是很少修改,配置文件会根据需求会有所变动,如果讲配置文件打进JAR生产环境会修改等不便等操作。
以下配置再pom.xml中 添加相关配置
1.指定打包环境和跳过编译单元测试
org.apache.maven.pluginsmaven-compiler-plugin1.81.8UTF-8org.apache.maven.pluginsmaven-surefire-plugintrue
2.JAR打包排除配置文件和lib
org.apache.maven.pluginsmaven-jar-plugin3.2.0truelib/falsecom.xxxx.Application./resources/${project.build.directory}
3.如果需要全量包也可以增加如下配置
便于开发环境打包使用
org.springframework.bootspring-boot-maven-pluginrepackagecom.xxxx.Applicationtruetrue${project.build.directory}/jar
4.将lib和配置文件单独复制出来
org.apache.maven.pluginsmaven-dependency-plugincopy-dependenciespackagecopy-dependencies${project.build.directory}/lib/org.apache.maven.pluginsmaven-resources-plugin3.2.0copy-resourcespackagecopy-resourcessrc/main/resources*.yml*.properties${project.build.directory}/resources
5.全量配置如下,拷贝即用
注意启动类的指定:
以下配置再pom.xml中 添加相关配置
org.apache.maven.pluginsmaven-compiler-plugin1.81.8UTF-8org.apache.maven.pluginsmaven-surefire-plugintrueorg.springframework.bootspring-boot-maven-pluginrepackagecom.xxxxtruetrue${project.build.directory}/jarorg.apache.maven.pluginsmaven-jar-plugin3.2.0truelib/falsecom.xxxx./resources/${project.build.directory}org.apache.maven.pluginsmaven-dependency-plugincopy-dependenciespackagecopy-dependencies${project.build.directory}/lib/org.apache.maven.pluginsmaven-resources-plugin3.2.0copy-resourcespackagecopy-resourcessrc/main/resources*.yml*.properties${project.build.directory}/resources
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。