我的pom.xml文件包含依赖项列表:
<dependencies>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
我的任务是找出以下问题的答案:
答案 0 :(得分:1)
对于第一个问题,请查看问题Maven check for updated dependencies in repository。
对于第二个:由于maven在距离上解析了相同的依赖关系(相同的groupId,artifactId,分类器,版本),因此难以分辨。因此,如果在您自己的pom.xml中定义,那将永远获胜。如果与pom的距离低于其他pom,则传递依赖性会获胜。我认为mvn dependency:tree -Dverbose=true
会打印出来:
...
[INFO] | +- (commons-lang:commons-lang:jar:2.6:compile - version managed from 2.5; omitted for duplicate)
[INFO] | +- (commons-collections:commons-collections:jar:3.0:compile - omitted for duplicate)
....
第三:你搜索什么信息?在maven面板中,如果右键单击模块或pom,则可以显示maven依赖项。在该视图中,您只需键入搜索(其某种依赖图)。请参阅JetBrains docs。
答案 1 :(得分:1)
它是最新版本的依赖项,还是更新版本已经存在?
请参阅display-dependency-updates的 Versions Maven Plugin目标(在答案中提及的答案 wemu 中也有链接,但codehaus.org终止了所有服务,那里的链接不再正常工作):
扫描项目的依赖项,并生成具有更新版本的依赖项的报告。
两个依赖项之间是否存在冲突,这意味着它们使用不同版本的相同jar文件?
使用Dependency Convergence rule的Maven Enforcer Plugin:
此规则要求依赖关系版本号收敛。如果一个项目有两个依赖项,A和B,两者都依赖于相同的工件C,如果A依赖于不同版本的C
然后而不是依赖于C的C版本,则该规则将失败构建由B。
[由我纠正错字。]
很高兴知道是否有可能在不离开IntelliJ IDEA 14.x的情况下检索有关依赖关系的快速文档?
首次获取库时,会自动获取源和javadoc。如果远程存储库中没有它们,您可以将它们安装在本地maven存储库中,然后在项目视图中右键单击库 - &gt;获取Source和Javadoc。