强制maven依赖项的最新版本

时间:2014-08-20 01:45:38

标签: spring maven

我有以下依赖项(仅限目前为止)pom.xml

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>1.6.2.RELEASE</version>
</dependency>  

这种依赖性显然取决于其他依赖性&#34;通过它的pom.xml ...当maven完成下载这些依赖项时,我注意到它没有获取最新版本的Spring东西(4.0.6.RELEASE)......它抓住了3.2。 x版。

我怎样才能强迫maven获取最新版本的Spring东西?我是否需要显式修改我的pom.xml以包含所有依赖项,或者是否有一些&#34; magic&#34;我可以用它吗?

感谢。

2 个答案:

答案 0 :(得分:2)

春天“物料清单”

救赎可能来自Maven支持并由Spring出版的特殊“物料清单”POM。在他们的手册中引用Maven "Bill Of Materials" Dependency

  

使用Maven时,可能会意外混合不同版本的Spring JAR。例如,您可能会发现第三方库或另一个Spring项目将旧版本的传递依赖性拉入其中。如果您忘记自己明确声明直接依赖,可能会出现各种意外问题。

     

为了克服这些问题,Maven支持“物料清单”(BOM)依赖性的概念。您可以在dependencyManagement部分中导入spring-framework-bom,以确保所有spring依赖项(直接和传递)都处于同一版本。

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-framework-bom</artifactId>
      <version>4.0.6.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

这对你有用吗?

答案 1 :(得分:0)

查看spring-data-jpa工件pom文件,我们可以看到它有一个名为spring-data-parent的父级,其当前版本为1.4.2.RELEASE。它的pom描述了依赖关系及其版本。目前春季版本为3.2.10.RELEASE

您可以实现目标的一种方法是添加对spring工件的显式依赖。但你仍然需要定义他们的版本。