背景:
- 打包速度太慢。
- 打包后包太大。
- 版本发布太慢。
解决方法:
将外部依赖包放置固定位置,再次打包时去除外部依赖包,在程序启动时引入外部依赖包,在外部依赖包没有变化,之后每次版本发布只有很小的包。
方法一:
- 配置打包方式,在需要排除外部依赖包的模块的pom文件中增加如下配置
<properties>
<!-- 外部依赖jar包位置,路径修改成自己电脑路径 -->
<project.build.output>${project.build.directory}</project.build.output>
</properties>
<build>
<plugins>
<!-- 打包插件,打包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<includes>
<include>
<groupId>non-exists</groupId>
<artifactId>non-exists</artifactId>
</include>
</includes>
<!--<outputDirectory>${project.build.output}/lib</outputDirectory>-->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 【注释位置】依赖处理插件,打开后可得外部依赖jar包 -->
<!--<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.output}/lib</outputDirectory>
<includeScope>compile</includeScope>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>-->
</plugins>
</build>
- 【注释位置】打开后,本地打包将会把jar包放置对应目录,注释后将只会生成本模块代码jar包。
- 将生成的外部依赖jar放置到服务器位置
- 在jar包启动命令中添加:-Dloader.path=‘服务器jar包位置路径’。