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

如何在JDK16环境下运行JDK1.8开发项目的maven spring-boot:run命令

解决方案

你可以根据修改成本选择以下任意一种方案,均不需要新增模块配置文件:

方案1:零项目修改,命令行直接传参(最推荐)

执行spring-boot:run时直接附加JVM参数即可,无需修改任何项目文件:

mvn spring-boot:run -Dspring-boot.run.jvmArguments="--add-opens java.base/java.lang=ALL-UNNAMED"

如果后续运行出现其他模块访问报错,可在参数中追加对应开放规则,示例:

mvn spring-boot:run -Dspring-boot.run.jvmArguments="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED"

方案2:仅修改Maven插件配置,不用每次输长命令

修改项目pom.xml中spring-boot-maven-plugin的配置,固定JVM参数:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.5.1.RELEASE</version>
    <configuration>
        <jvmArguments>
            --add-opens java.base/java.lang=ALL-UNNAMED
            <!-- 按需追加其他开放规则 -->
        </jvmArguments>
    </configuration>
</plugin>

配置完成后直接执行mvn spring-boot:run即可自动加载参数。

方案3:全局配置,所有Maven项目通用

配置MAVEN_OPTS环境变量,全局生效,无需修改任何项目文件:

  • Linux/macOS 终端执行:
    export MAVEN_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
    
  • Windows CMD 执行:
    set MAVEN_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
    
  • Windows PowerShell 执行:
    $env:MAVEN_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
    

提示:所有--add-opens规则可根据报错信息灵活调整,通用格式为--add-opens [模块名]/[包名]=ALL-UNNAMED。

内容的提问来源于stack exchange,提问作者Daniel Kaplan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 20:15:07