Java 当我在同一pom文件中声明两个不同版本时,哪个maven依赖项占优势?
这是我偶然发现的一个真实的例子。 我正在使用具有以下声明的spring上下文工件(spring.version是3.2.4.RELEASE):Java 当我在同一pom文件中声明两个不同版本时,哪个maven依赖项占优势?,java,spring,hibernate,maven,Java,Spring,Hibernate,Maven,这是我偶然发现的一个真实的例子。 我正在使用具有以下声明的spring上下文工件(spring.version是3.2.4.RELEASE): org.springframework 您将在段落(此工件取决于…)中看到使用上述声明时导入的所有依赖项。 其中之一是hibernate验证器(4.3.0.FINAL) 稍后,我决定在pom.xml文件中使用另一个版本的hibernate validator(例如,因为它较新),并声明以下代码: <dependency> <
org.springframework
您将在段落(此工件取决于…)中看到使用上述声明时导入的所有依赖项。
其中之一是hibernate验证器(4.3.0.FINAL)
稍后,我决定在pom.xml文件中使用另一个版本的hibernate validator(例如,因为它较新),并声明以下代码:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
</dependency>
org.hibernate
休眠验证器
4.3.1.最终版本
现在,我的项目似乎正在导入两个不同版本的hibernate验证器。
项目正在使用哪一个?
谢谢。神奇的词语是距离:使用最接近您的项目的一个。所以,如果您在项目pom中定义了它,就会使用它。您还可以检查具有多个目标的,这些目标可以显示以不同方式使用的版本。神奇的词语是距离:使用最接近您的项目的目标。所以,如果您在项目pom中定义了它,就会使用它。您还可以检查,它有几个目标,可以显示以不同方式使用的版本。我发现这有助于查看我使用的依赖项:
基本上在cmd上,只需键入:
mvn dependency:tree
它将显示项目的所有依赖项
类型
它将只显示velocity的依赖关系树。(输入的模式是groupId:artifactId)。我发现这有助于查看我使用的依赖项:
基本上在cmd上,只需键入:
mvn dependency:tree
它将显示项目的所有依赖项
类型
它将只显示velocity的依赖关系树。(输入的模式是groupId:artifactId)。以您的声明为准。您还可以使用mvn dependency:list
,也可以查看您的声明。您还可以通过使用mvn dependency:list
,了解我可以从IntelliJ IDEA内部使用这个插件吗?我是一个Eclipse用户,但我非常确定IntelliJ中的Maven集成已经足够好,可以向您展示所使用的依赖项。此插件主要用于cmdline,但也可以从任何IDE执行。我可以从IntelliJ IDEA内部使用此插件吗?我是Eclipse用户,但我非常确定IntelliJ中Maven的集成已经足够好,可以向您展示所使用的依赖项。此插件主要用于cmdline,但也可以从任何IDE执行。
mvn dependency:tree -Dincludes=velocity:velocity