【问题标题】:Maven downloading surefire plugin 3.0.0-M2 inspite of not been specified in pomMaven下载surefire插件3.0.0-M2尽管没有在pom中指定
【发布时间】:2018-12-21 10:42:57
【问题描述】:

我们正在使用带有 Maven 3.0.4 和 Java 1.7 的 surefire 插件版本构建项目之一。最近我们改为使用 Maven 3.3.9 和 Java 1.8 构建代码。但是我们遇到了 NestedException 问题,我们通过在 pom.xml 中添加了 surefire 插件版本 3.0.0-M2 解决了这个问题。但是由于某些条件,我们不得不恢复到相同的旧 Maven,即 3.0.4 和 Java 1.7,并且我们在 pom.xml 中删除了版本为 3.0.0-M2 的 surefire 插件条目。但是该构建仍在下载 3.0.0-M2 版本的 surefire 并使用它,并且由于 guice 异常而导致构建失败。我们清除了 repo,从 nexus 中删除,但它仍在下载。 pom 中没有此插件的条目,为什么它仍在下载 surefire 3.0.0-M2 版本。请帮忙 。

【问题讨论】:

  • 始终在 pom 文件中定义您正在使用的所有插件...以防止此类问题。为什么要迁移到 Maven 3.3.9 而不是 3.6.0 ?此外,Maven 3.0.4 非常老旧..除了没有完整的错误消息代码等。几乎不可能找到真正的问题...我强烈建议您升级到最新版本的 Maven 和 JDK 8+...
  • 您可以尝试使用 maven enforcer 插件,这可能有助于查看对 surefile 插件是否有任何传递依赖,您可以在 POM 中排除它
  • 插件总是使用 maven-metdata-nexus.xml 下载,并带有以下条目。 <latest>3.0.0-M2</latest> <release>3.0.0-M2</release> 。我尝试删除版本元素,但似乎没有任何效果。每次我删除它都会下载它

标签: maven maven-surefire-plugin


【解决方案1】:

@alim-azad 什么情况迫使您降级 3.0.0-M2 版本? CI 正在针对 Maven 3.2+ 对其进行测试。降级到如此低版本的 Maven 存在风险,您将无法摆脱在更高版本中修复的问题。

【讨论】:

  • 最初,当使用 3.3.9 和 JDK1.8 以及更早的 surefire 插件触发构建时,构建失败并出现 NestedException。因此我们添加了 surefire 插件版本 3.0.0-M2 来解决相同的 .但是开发人员回来说我们不希望使用 Maven 3.3.9 和 JDK1.8 以及新的 surefire 插件版本进行构建。我们将所有配置恢复为现有开发人员设置,但它不起作用,我们必须手动更新 pom 以使用定义的surefire插件版本。不知道出了什么问题。
  • 为什么开发者说他们不想使用新的surefire插件版本?为什么他们没有尝试使用 JDK 1.7 和 Surefire 3.0.0-M3 的 Maven 3.3.9?我正在开发 Surefire,建议您使用此版本。没有理由害怕!
猜你喜欢
  • 2019-06-07
  • 2017-10-07
  • 2019-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多