【发布时间】:2018-10-14 07:12:09
【问题描述】:
当我在 macOS Sierra 上使用 Oracle 10.0.1 从 Maven 原型 maven-archetype-quickstart 版本 1.3 创建新的 IntelliJ 2018.1 项目时,我在执行 Maven install 时收到此错误。
[错误] 无法在项目 h2e2 上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test (default-test):执行目标 org.apache.maven 的默认测试。 plugins:maven-surefire-plugin:2.20.1:test failed.: NullPointerException -> [Help 1]
我在创建新项目后直接运行它。我正在编写 no 代码。我可以运行默认行:
public static void main( String[] args ) { System.out.println( "Hello World!" ); }
...从代码编辑器中单击的上下文菜单中选择Run 'App.main()'。这行得通,但是 Maven install 失败了。
在 IntelliJ 的 Maven 窗格中执行 clean 和 install 并不能解决问题。
如果我将 IntelliJ File > Project Structure > Project > Project SDK > 从 10.0.1 切换到 1.8.0_171(并将 Project language level 设置为 8 - Lambdas, type annotations etc.),那么 Maven install 会成功.
[信息] --------------------------------------------- ----------------------------------------
[信息] 构建成功
[信息] --------------------------------------------- ----------------------------------------
如果我将该设置返回到 Java 10,Maven install 将再次失败,并出现同样的错误。
我运行的是外部 Maven 3.5.3,而不是 IntelliJ 捆绑的旧版本,没有什么特别的原因。
我现有的基于 Java 8 的旧项目没有问题。我唯一的问题是尝试使用 Java 10 创建新的基于 Maven 的 quickstart 项目。
【问题讨论】:
-
是否也因
2.21.0of surefire 而失败? -
@nullpointer 我对万无一失一无所知。我只想要一个非常简单、简洁的基于 Maven 的项目。我认为这就是
quickstart原型的目的。 -
你能尝试在你的 pom.xml 中设置这个属性吗:
<maven-surefire-plugin.version>2.21.0</maven-surefire-plugin.version>你在 pom 中的 java-version 是什么?原型默认为 1.7... `1.7 ` `1.7 ` maven 也使用 Java 10个JDK?您可以通过运行mvn -X clean来检查这一点 -
@Maarten 如何在 IntelliJ IDE 中运行
mvn -X clean?是否可以将-X之类的参数传递给 IntelliJ 的 Maven 窗格中的clean等生命周期项? -
对于 Java 10,您必须将 surefire/failsafe 插件升级到 2.21.0 ....
标签: java maven intellij-idea maven-3 java-10