【发布时间】: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