Java 如何确保maven依赖项在给定的范围内?
在我正在从事的一个项目中,我们发现Oracle coherence产品被我们的EAR用作Java 如何确保maven依赖项在给定的范围内?,java,maven,dependencies,Java,Maven,Dependencies,在我正在从事的一个项目中,我们发现Oracle coherence产品被我们的EAR用作编译依赖项。这触发了已经检测到的奇怪的类路径问题,一致性现在是提供的依赖项 然而,我想确保没有人会再犯这样的错误:直接或不直接使用一致性作为编译。那么,在给定一组依赖约束的情况下,是否有任何maven插件/解决方案可以确保所有maven模块都强制执行这些约束?您应该深入了解支持这些约束的插件/解决方案 <project> [...] <build> <plugin
编译
依赖项。这触发了已经检测到的奇怪的类路径问题,一致性现在是提供的
依赖项
然而,我想确保没有人会再犯这样的错误:直接或不直接使用一致性作为
编译。那么,在给定一组依赖约束的情况下,是否有任何maven插件/解决方案可以确保所有maven模块都强制执行这些约束?您应该深入了解支持这些约束的插件/解决方案
<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>
[...]
org.apache.maven.plugins
maven enforcer插件
1.4
强制执行禁止的依赖项
执行
com.xyz:abc:*:jar:compile
com.xyz:abc:*:jar:runtime
com.xyz:abc:*:jar:test
真的
[...]