【问题标题】:How do I debug this Build Failure in my Spring/Maven project?如何在我的 Spring/Maven 项目中调试此构建失败?
【发布时间】:2014-10-10 16:41:00
【问题描述】:

您好,我是 Java 和 Maven 的新手。我正在尝试在本地构建一个项目并不断收到相同的错误:

[ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Could not find artifact org.apache.maven.plugins:maven-clean-plugin:jar:2.5 in nexus http://x.x.x.x:xxxx/nexus/content/groups/public) -> [Help 1]

我在该目录中检查了我的 nexus 存储库,但我们没有用于 maven-clean-plugin 的 2.5 文件夹。但是,我搜索了 POM.xml 和项目文件,但我在哪里没有看到它将 2.5 定义为依赖项。那么为什么它一直在寻找 2.5 呢?除了将 2.5 放在 nexus 上之外,我还有哪些不同的方法可以解决它?

【问题讨论】:

  • 我在超级 pom 中没有看到任何会导致这种行为的东西?
  • 你在看哪里?如果您查看有效的 pom,您将拥有一个定义“clean”的“maven-clean-plugin”,一个定义“install”的“maven-install-plugin”,等等。所有这些基本任务都是为您编写的任何 pom.xml 自动定义的。
  • 我的 M2_HOME 指向 Maven 3.2.3 安装。当我在 pom-4.0.0.xml 中进行文本搜索时,我发现没有对“clean”一词的引用,并且在项目的 pom.xml 中没有对插件的引用.. 仍然不确定这可能来自哪里?让我知道是否有任何关于我的设置的其他信息,如果它可以揭示更有用的信息。
  • 如果您不想使用 2.5 版本,您可以随时在 pom.xml 中添加自己的 maven-clean-plugin 声明并指定不同的版本号。

标签: java spring maven


【解决方案1】:

第一件事是基于您的帖子,您没有将插件的版本固定在自己的构建中,这意味着 Maven 本身会处理它,并且它使用在 Maven 本身中定义的那些您可以阅读的版本以下文件:

这意味着如果您更改 Maven 版本,则要使用的插件版本会发生更改。因此,确实有必要通过公司 pom 中的 pluginManagement 定义使用的插件版本。

此外,您的消息告诉我,您似乎在访问内部存储库管理器时遇到了一些问题,因为它无法下载应该解决的所需工件。

更新:(缺少 maven-clean-plugin)

【讨论】:

  • 这很有帮助。虽然我很高兴这对我们现在正在调查的网络问题有所了解。我不禁对 Maven 缺乏这方面的信息感到有点沮丧。当我查看 Maven 版本的默认绑定时,我没有看到 maven-clean 的任何内容。
  • 根据缺失的 maven-clean-plugin 信息更新了我的答案。
猜你喜欢
  • 2018-09-20
  • 2015-05-10
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 2018-06-26
  • 2016-09-30
  • 2020-10-21
  • 1970-01-01
相关资源
最近更新 更多