请考虑以下情况。
我有一个Java 1.8项目,它依赖于一个名为foo-bar
的java 8工件和一个名为baz-qux
的java 5工件。 baz-qux
也取决于foo-bar
。但它使用了名为foo-bar-java5
的特殊瘦身java 5版本。因此,通过将baz-qux
包含在我的项目中,我可以传递foo-bar-java5
。最后,我有一个不受欢迎的状态,现在我有foo-bar
和foo-bar-java5
。显然,没有办法进行全局排除。所以我不能只排除foo-bar-java5
。相反,我必须弄乱杂乱的pom,把它排除在任何可以传递的地方。
话虽如此,我有什么方法可以指明foo-bar
提供foo-bar-java5
吗?或者是真正排除foo-bar-java5
无处不在的唯一选择吗?
答案 0 :(得分:1)
以下是另一个可能适合您的问题的答案:
https://stackoverflow.com/a/9623517/2879838
基本上,明确地将foo-bar-java5列为项目中的依赖项,并按提供的方式列出。这将告诉maven在构建期间不要将该jar放入存档中。这应该比在任何地方排除它更加麻烦。