有排除依赖,必然也有保留依赖。前边写完排除依赖,这次写一下保留依赖。
在做开发时,除了会引用第三方依赖,也会依赖自己公司的其它模块。这种依赖可能会经常变动,所以不宜打到外部的 lib,不然就会需要经常上传更新。
为了解决这种问题只需在插件中把需要打进 jar 的填写进去就可以了。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot-dependencies.version}</version>
<configuration>
<!-- 这里是填写需要包含进去的jar,如果没有则 nothing -->
<includes>
<include>
<groupId>com.xh</groupId>
<artifactId>common-code</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
这样只有 include 中所有添加依赖依然会打进当前业务包中。
使用这种部署的方式,每次的迭代更新,不用每次都上传一个很大的 jar 包,从而节省部署时间。但这种方式也有一个弊端就是增加了 jar 包的管理成本,多人协调开发,构建的时候,还需要专门去关注是否有人更新依赖。