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

IDEA中通过测试方法运行按钮执行测试遇权限问题,如何添加JVM参数?

解决IDEA运行测试时的InaccessibleObjectException错误

这个错误是Java 9+模块系统的限制导致的——测试代码通过反射访问了java.base模块中未对外公开的API,需要添加--add-opens参数开放权限。以下是几种在IDEA中配置该参数的方法:

方法1:为单个测试方法配置运行参数

  • 点击测试方法旁的绿色运行按钮,选择「Modify Run Configuration...」
  • 在弹出的配置窗口中,找到「VM options」输入框
  • 输入参数:--add-opens=java.base/java.lang=ALL-UNNAMED
  • 点击「Apply」后重新运行测试即可

方法2:全局配置JUnit默认参数(所有新测试自动生效)

  • 打开IDEA顶部菜单栏的「Run」→「Edit Configurations...」
  • 在左侧列表中选中「JUnit」,点击上方的「Edit configuration templates」(模板样式的按钮)
  • 在模板配置的「VM options」栏中添加--add-opens=java.base/java.lang=ALL-UNNAMED
  • 保存配置后,新创建的测试运行配置会自动继承该参数

方法3:通过Maven配置(命令行+IDEA通用)

如果是Maven项目,可以在pom.xml中配置maven-surefire-plugin,这样无论用IDEA运行还是命令行执行mvn test都会生效:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.2.5</version> <!-- 建议使用最新稳定版本 -->
            <configuration>
                <argLine>--add-opens=java.base/java.lang=ALL-UNNAMED</argLine>
            </configuration>
        </plugin>
    </plugins>
</build>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:42:46