覆盖父pom依赖项

时间:2015-02-27 17:30:41

标签: maven selenium dependencies

我用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库中我看到旧版本的Selenium(即selenium-firefox-driver 2.40.0而不是更新的2.44.0),并且由于2.40.0中的错误,我的应用程序无法正常工作。 我试着添加:

<version>2.44.0</version>

在BaseProject的pom中,但是我收到了像

这样的警告
  

覆盖selenium-remote-driver

的托管版本2.40.0

它不起作用。

如何从父pom覆盖依赖版本或从jboss-javaee-7.0-with-tools依赖项中排除selenium?

1 个答案:

答案 0 :(得分:0)

  

如何从父亲的pom

覆盖依赖项的版本

&#34;覆盖托管版本2.40.0 for selenium-remote-driver&#34;警告只是一个m2e警告 Maven警告。使用您的代码,您正确地覆盖了父pom的依赖版本。 See this bug at Eclipse site for m2e about this warning。您可以通过查看依赖关系树(在Eclipse中或使用mvn dependency:tree命令)

来断言
  

或从jboss-javaee-7.0-with-tools依赖中排除selenium?

您可以使用exclusions标记执行此操作。它是一个标记,您可以在其中指定要从Maven解析的传递依赖项中排除的每个groupId和artifactId。