例如,我有 2 个 Maven 项目。一个是“项目父”。另一个是“project-child”。显然,“project-child”是“project-parent”的子项目。
“project-parent”具有 log4j 的依赖性。但我想将它从“project-child”中排除。有办法吗?
您可能会说我应该将 log4j 从“project-parent”移动到“project-child”。这是完全正确的。 但假设是我不能修改“project-parent”的 POM。
提前致谢。
原文由 Smartmarkey 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为在 Maven2 中没有办法实现这一点,因为这就是 POM 继承的目的。但是我能想到一个技巧:
假设您有权将工件上传到您的内部工件存储库。您可以创建一个空的 JAR,将其部署为 log4j:log4j,版本明显异常(例如 log4j:log4j:9999 )。在您的项目子项目中添加此类依赖项。然后它将覆盖父级的依赖性以依赖于一个实际上是空的 JAR。