【发布时间】:2015-03-05 02:40:00
【问题描述】:
我使用 Maven 在 Eclipse 中的 Java 项目中添加了一个依赖项。我从存储库添加了一个版本的依赖项,然后我发现该版本不是我想要的,然后使用 maven 的命令手动添加了更高版本(存储库中不存在)。最后我从 pom.xml 中删除了旧版本,并将新版本添加到那里。我使用以下命令将更新版本添加到 repo:
mvn install:install-file -Dfile=PATH_OF_JAR -DgroupId=GROUP_ID -DartifactId=ARTIFACT_ID -Dversion=VERSION -Dpackaging=jar
现在的问题是旧版本仍保留在“Maven 依赖项”组中。我使用该依赖项 jar 的代码部分将看不到新版本。我从 Maven 本地 repo 中手动删除了旧版本,并执行了 Maven 的“purge”命令。每次我更新,旧版本都会回来。如何让我的项目只看到新版本并完全摆脱旧版本?
pom.xml 条目如下(指向新版本,我想要的版本):
<dependency>
<groupId>org.eclipse.jface</groupId>
<artifactId>org.eclipse.jface</artifactId>
<version>3.7.0</version>
</dependency>
【问题讨论】:
-
当您使用 maven 的命令手动添加更高版本(存储库中不存在)时,您到底做了什么。?如果您没有将新版本安装到存储库中,Maven 将回退到旧版本。如果您将版本号放在诸如
<version>[1.2.3]</version]之类的中断中,您甚至可以“强制”使用新版本。 -
请向我们展示您的 pom.xml 文件和依赖项
-
我添加了 pom.xml 条目,请检查。
-
artifactId 定义是否正确?你在 Eclipse 中是否有一些 pom.xml 的错误标记?
-
如果您使用 Eclipse,请查看 pom.xml 查看器的“依赖层次结构”选项卡。单击已解决的依赖项选项卡上的 org.eclipse.jface 并查看它的来源(可能您的版本被传递依赖项推翻)。
标签: java eclipse maven dependencies