覆盖parent POM的依赖(Override parent pom dependency)

2019-10-22 03:20发布

我做了Maven和wildfly一个简单的EAR项目,但我有一些问题与过时的依赖。

项目结构是这样的:

Project
  --EarProject
  --BaseProject
  --WarProject
  --EjbProject

在父项目的POM有依赖性:

<dependency>
    <groupId>org.wildfly.bom</groupId>
    <artifactId>jboss-javaee-7.0-with-tools</artifactId>
    <version>${version.jboss.bom}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

而在BaseProject的POM我使用Selenium:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-remote-driver</artifactId>
</dependency>

问题是,在BaseProject Maven的图书馆我看到旧版本硒(即不是新2.44.0硒Firefox的驱动程序2.40.0),并因为在2.40.0漏洞的应用程序如果不corectly工作。 我想补充:

<version>2.44.0</version>

在BaseProject的POM,但我得到了类似的警告

重写托管版本2.40.0硒的远程驱动器

而这是行不通的。

如何从父母的POM覆盖依赖的版本,或从的jboss-的JavaEE-7.0-与工具的依赖排除硒?

Answer 1:

如何从父母的POM覆盖依赖版本

“凌驾托管版本2.40.0硒远程驱动器”的警告是一刚一M2E 没有警告Maven的警告。 你的代码,你是正确重写父POM的依赖关系的版本。 看到Eclipse站点这个bug有关此警告M2E 。 您可以通过查看依赖关系树(Eclipse或与断言mvn dependency:tree命令)

或排除的jboss-的JavaEE-7.0-与工具的依赖硒?

你可以做到这一点与exclusions标签。 这是您指定要由Maven的解决了传递依赖排除的每个groupId和artifactId的标签。



文章来源: Override parent pom dependency