问题场景:平时在springboot项目中,打jar包都是默认把开发的代码和依赖jar包都打到一个jar包里,导致每次打包费时而且jar包还很大,升级一下都要把一个很大的包拷来拷去。如果是修改问题需要频繁替换jar包,那简直要疯
解决方案:把代码包打成我们需要的jar包,把依赖的jar包打在依赖jar包文件夹中,其实绝大部分都是依赖包,自己开发的代码打包其实是很小的,比如我这次遇到的问题就是整个jar包一百多M,但是我自己开发的核心代码还不到1M
具体实现方法:
1.在pom文件中加入一下插件配置
org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8 1.8 UTF-8 org.springframework.boot spring-boot-maven-plugin 2.3.7.RELEASE com.sunwei.syslog.SyslogApplication ZIP nothing nothing repackage repackage org.apache.maven.plugins maven-dependency-plugin copy-dependencies package copy-dependencies target/lib false false runtime
2.在以上配置完成后,执行打包命令 mvn clean package ,会看到代码被打成了比较小jar包,依赖包被打在target文件夹下面的lib文件夹中
3.启动项目方式。将jar包和依赖的lib文件夹拷贝到服务器的同一文件目录下执行
java -Dloader.path="lib" -jar xx.jar
即可启动项目,xx.jar就是你打的那些个jar包