在我的Java Maven Project
中,我可以看到以下两种版本的一个依赖项(Apache httpcomponents):
如何确保项目中仅使用最新版本(4.5.2)?
我什至找不到pom.xml
文件中任何位置声明的4.2.1来删除它。
答案 0 :(得分:1)
对于给定的项目,永远不应有两个版本的相同依赖项。
所以您的IDE在这里显示出了错误,或者您在构建之前没有mvn clean
,因此旧的和新的依赖项混合在一起。
Maven将始终仅采用一个版本。不幸的是,您不能告诉Maven采取最新的一种,但是它将始终采用依赖关系树中最近的一种。
如果要为特定依赖项设置版本,请使用<dependencyManagement>
。
答案 1 :(得分:0)
根据您的屏幕截图,您正在使用IntelliJ。我必须同意这种观点有点令人困惑。在Project
标签中,您将External Libraries
包含 all 项目的 all 依赖项。因此,依赖项可能在不同版本中出现。
在Maven
标签(右侧)中,您可以看到每个项目的依赖关系树。首先,您将看到直接依赖性,您可以展开直接依赖性以查看下一级别的依赖性。 AFAIK在IntelliJ中没有完整的依赖项列表,就像在Eclipse中会看到的那样。
答案 2 :(得分:0)
这是IDE的视图,它显示了项目中所有已使用或已使用的库。将pom.xml指向新版本并重建项目后,将使用新版本。 在Intellj中,您可以选择:菜单->文件->无效的缓存/重新启动以对其进行更新。如果这样做没有帮助,请从您现有的pom.xml文件开始新项目