springboot使用起来确实简单,但是随着项目的增大,每次上传全量包是十分麻烦又耗时的事.是因为每次都要重复的上传依赖包在网上看了很多资料,大多都是讲述的把lib依赖如果复制出来,但是打出来的包里面还是会有lib目录,并不能起到减小jar包臃肿的情况.下面提供一个简单又实用的方法.
第一步:正常打包,复制lib
项目正常打包后,用解压软件,打开压缩包,复制出BOOT-INF\lib目录.
如图:
第二步:去除lib依赖打包
在pom文件添加如下配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.teen.BootApplication</mainClass>
<layout>ZIP</layout>
<!-- 注释后和依赖包一起打包 取消注释则不打包依赖-->
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
打包后项目结构构入下图(不再有lib依赖):
第三步:上传并启动项目
将运行的包和复制出来的lib文件夹放在同级目录:
启动项目:
nohup java -jar -Dloader.path=/bigDataShow/lib/ bigDataShow-2.0.0.jar &
下次修改项目后把修改后的依赖包或添加后的依赖包和运行的包上传就行了.