我有以下依赖项(仅限目前为止)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;我可以用它吗?
感谢。
答案 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工件的显式依赖。但你仍然需要定义他们的版本。