最终工件中的Maven和jar版本

时间:2010-04-24 06:25:33

标签: maven-2 jar dependencies version

我是maven 2的初学者,我的项目中有一个jar版本的问题。 我在pom.xml中声明了以下依赖项:

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.1.1</version>
</dependency>

但是当我建立战争时,我得到了该神器的1.0.3版本。怎么可能!?最重要的是,我的存储库中提供了版本1.1.1。

如何看待它来自哪里?

我是这个项目的新维护者。父pom声明了这个版本,战争的pom继承了父母的pom。

1 个答案:

答案 0 :(得分:2)

  

但是在我的战争中我发现版本1.0.3。怎么可能? (...)如何看待它的来源?

您很可能传递这种依赖关系(即您依赖于具有commons-logging-1.0.3.jar作为依赖关系的工件,并且您从此工件获取它)。要检查它来自哪里,您可以使用Maven Dependency Plugin打印“依赖关系树”(也可以find conflicts):

mvn dependency:tree

现在,要解决问题并控制传递依赖项中使用的版本,解决方案是在dependencyManagement元素下声明您的依赖项:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.1</version>
    </dependency>
  </dependencies>
</dependencyManagement>