You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java 10运行Maven quickstart原型及IntelliJ项目Maven Install报错求助

1. 如何在Java 10环境下运行Maven的“quickstart”原型?

其实操作核心和低版本Java环境下差不多,但有个关键前提:一定要用Maven 3.5.0及以上版本,因为从这个版本开始Maven才正式支持Java 10。

具体步骤走一遍:

  • 先确认环境配置没问题:打开终端,分别执行java -version和mvn -version,输出里得能看到Java 10的版本信息,同时Maven版本要符合要求。
  • 切换到你想创建项目的目录,执行原型生成命令:
    mvn archetype:generate -DgroupId=com.yourcompany.yourproject -DartifactId=your-project-name -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3 -DinteractiveMode=false
    
    这里特意指定了archetypeVersion=1.3,因为这个版本的quickstart原型已经适配了Java 9+的模块系统,能避免一些不必要的兼容性坑。
  • 进入生成的项目文件夹,执行mvn clean install就能正常构建。如果是用IntelliJ这类IDE,直接导入这个Maven项目就行,IDE会自动识别Java 10环境。
2. 解决macOS Sierra + Java 10.0.1 + IntelliJ 2018.1下Maven install的NullPointerException报错

你碰到的这个NullPointerException,根源是maven-surefire-plugin 2.20.1和Java 10不兼容——这个版本的插件在处理Java 10的测试运行逻辑时会触发空指针问题。

解决起来很简单,把surefire插件升级到兼容Java 10的版本就行,比如2.22.0及以上:

  • 打开项目的pom.xml,找到<build>节点下的<plugins>,添加或修改surefire插件的配置:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.2</version>
    </plugin>
    
  • 保存pom.xml后,重新执行mvn clean install,这个空指针错误就会消失了。

额外提一句:IntelliJ 2018.1对Java 10的支持已经比较成熟,但默认生成的Maven项目可能会绑定旧版本的surefire插件,所以手动升级插件是解决问题的关键。

内容的提问来源于stack exchange,提问作者Basil Bourque

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:51:22