项目以war包方式依赖了公司统一开发平台,但平台中引入druid版本较低,业务中需要更高版本的druid,需要先排除掉平台中druid包,然后引入需要的版本,实现方式记录如下:
- 1.先在Pom中正常排除掉低版本Jar
- 2.在maven-war-plugin中排除掉对应的jar包
- 3.引入所需jar包
需要说明是的第二步,之前以war包方式依赖的项目较少,排除方法不太了解,经指点要通过以下方式:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<overlays>
<overlay>
<groupId>com.example.projects</groupId>
<artifactId>documentedprojectdependency</artifactId>
<excludes>
<exclude>WEB-INF/lib/druid-1.0.9.jar</exclude>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
</plugins>
</build>
可排除引入war中的某个jar,上例中排除druid-1.0.9.jar,通过此方式还可以排除war中其他资源。
官网示例排除图片
<exclude>WEB-INF/classes/images/sampleimage-dependency.jpg</exclude>
更多详情见官网中关于overlays的说明,链接如下:
http://maven.apache.org/plugins/maven-war-plugin/overlays.html