在我正在进行的项目中,我们发现Oracle Eherence产品被我们的EAR用作compile
依赖项。这触发了已检测到的奇怪的类路径问题,并且一致性现在是provided
依赖项。
但是,我想确保没有人再犯下使用compile
一致性的错误。那么,是否有任何maven插件/解决方案,在给定一组依赖性约束的情况下,将确保所有maven模块都强制执行这些约束?
答案 0 :(得分:2)
你应该仔细看看支持这类事情的maven-enforcer-plugin。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>enforce-banned-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>com.xyz:abc:*:jar:compile</exclude>
<exclude>com.xyz:abc:*:jar:runtime</exclude>
<exclude>com.xyz:abc:*:jar:test</exclude>
</excludes>
</bannedDependencies>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>