在我的pom.xml中,我定义了如下所示的依赖项
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
</dependencies>而不显式指定此依赖项的版本。但是,它可以工作,而且我已经得到了1.8.2.RELEASE版本。
我知道这可能是因为继承,通过mvn help:effective-pom,我可以看到spring-data-jpa的有效版本号。但是我检查了父pom,没有找到spring-data-jpa版本号的任何定义。
在POM继承树上时,我如何知道中的pom文件 maven获取了spring-data-jpa的版本?这里有maven命令吗?
mvn依赖:树输出如下所示:
[INFO] +- org.hibernate:hibernate-envers:jar:4.2.18.Final:provided
[INFO] +- org.springframework.data:spring-data-jpa:jar:1.8.2.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-commons:jar:1.10.2.RELEASE:compile
[INFO] | +- org.springframework:spring-orm:jar:4.0.9.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.0.9.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.1.7.RELEASE:compile
[INFO] | | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- org.springframework:spring-tx:jar:4.0.9.RELEASE:compile
[INFO] | +- org.aspectj:aspectjrt:jar:1.8.6:compile
[INFO] | \- org.slf4j:jcl-over-slf4j:jar:1.7.12:runtime
[INFO] +- org.springframework.data:spring-data-envers:jar:1.0.8.RELEASE:compile
[INFO] | \- joda-time:joda-time:jar:2.8.2:compile但是在这个输出中没有相关的POM文件,所以我无法知道从哪个POM文件中推导出版本。
发布于 2017-08-16 09:32:38
在命令行上运行:mvn dependency:tree,您将看到树中的所有依赖项,因此您知道依赖项来自何处。
看上去:
[INFO] [dependency:tree]
2.[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
3.[INFO] +- org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4:compile
4.[INFO] | \- commons-validator:commons-validator:jar:1.2.0:compile
5.[INFO] | \- commons-digester:commons-digester:jar:1.6:compile
6.[INFO] | \- (commons-collections:commons-collections:jar:2.1:compile - omitted for conflict with 2.0)
7.[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
8.[INFO] \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
9.[INFO] \- commons-collections:commons-collections:jar:2.0:compile有关依赖项插件的更多信息,请参见文档
https://stackoverflow.com/questions/45709861
复制相似问题