如何在 Eclipse 中更新 Maven 存储库?

Posted

技术标签:

【中文标题】如何在 Eclipse 中更新 Maven 存储库?【英文标题】:How to update maven repository in Eclipse? 【发布时间】:2011-02-03 02:13:37 【问题描述】:

假设您已经在使用 m2eclipse plugin,如果它没有将您的 repo 中的依赖项更新到最新版本,您该怎么办?

例如,在命令行中,您可以添加-U 标志

mvn clean install -U 

...强制更新依赖项。 Eclipse中有这样的东西吗? (它似乎并不总是能获取最新的更新。)

【问题讨论】:

【参考方案1】:

您可以右键单击您的项目,然后Maven > Update Project...,然后选择Force Update of Snapshots/Releases复选框然后点击确定。

【讨论】:

这与 -U 不完全相同:当您拥有引用存储库中不存在的版本的旧元数据文件时,更新快照不起作用。在这种情况下,您必须检查 Maven 二进制 Eclipse 正在使用什么并在控制台/path/to/bin/mvn clean install -U 中运行以获取更新的元数据文件。 在我的 eclipse indigo 中没有Update Snapshots 的选项,你知道该怎么做吗 @Hunt 您可以在 Eclipse 的 maven 构建配置中选中“更新快照”复选框以更新依赖项。 事实上并不总是有效。我必须将版本号更改为错误的编号,然后再次将其更改为正确的版本才能使其正常工作。 @Hunt 在较新的 Eclipse 中有“更新项目”选项。【参考方案2】:

如果 Maven 更新快照不起作用并且您有 Spring Tooling,一种有趣的方法是删除

右键单击您的项目,然后单击 Maven > 禁用 Maven Nature 右键单击您的项目,然后选择 Spring Tools > Update Maven Dependencies 在“BUILD SUCCESS”之后,右键单击您的项目然后配置 > 转换 Maven 项目

注意:如果您使用其他任何东西,例如 eclipse:eclipse 或 Spring Tooling,Maven 更新快照有时会停止工作

【讨论】:

我尝试了更高等级的解决方案,但没有一个奏效。这对我有用,谢谢。【参考方案3】:

有时即使使用 m2eclipse 插件检查 Maven->Update Project->Force Update 选项,依赖项也不会更新。

万一它不适用于其他人,这个方法对我有用:

mvn eclipse:eclipse

这将使用新的依赖项更新您的 .classpath 文件,同时保留您的 .project 设置和其他 eclipse 配置文件。

如果您出于某种原因想清除旧设置,可以运行:

mvn eclipse:clean

mvn eclipse:eclipse

mvn eclipse:clean 将删除您的旧设置,然后mvn eclipse:eclipse 将创建新的 .project.classpath 和其他 eclipse 配置文件。

【讨论】:

当我发现“强制更新”不起作用时,它起作用了,谢谢! 谢谢,我想要一种不使用 m2e 的方法,就是这样 太棒了! :clean 为我修复了它。【参考方案4】:

右键单击您的项目并选择Maven > Update Snapshots。除此之外,您还可以在Window > Preferences > Maven 中设置“启动时更新 Maven 项目”

更新:在最新版本的 Eclipse 中:Maven > Update Project。 确保“强制更新快照/发布”是 检查。

【讨论】:

【参考方案5】:

在使用 M2E 插件的较新版本的 Eclipse 中:

右键单击您的项目 --> Maven --> 更新项目...

在下面的对话框中有一个用于强制更新的复选框(“强制更新快照/发布”)

【讨论】:

我正在使用日食开普勒。我必须检查“强制更新快照/发布”来解决问题。谢谢!

以上是关于如何在 Eclipse 中更新 Maven 存储库?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Eclipse 了解 maven 存储库中的 OSGI 包(本地 &| 远程)

如何修改eclipse中maven默认仓库路径

在 Eclipse 中为项目添加 Maven 存储库?

如何在maven存储库中找到正确的JAR版本

如何教 Eclipse 在源路径中包含 Maven 源包?

如何获得有关新插件的公共 maven 存储库更新的通知?