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

JMeter项目Maven打包调用bzm Parallel Controller遇InaccessibleObject异常求助

解决bzm Parallel Controller在Maven执行时的反射访问异常

问题原因

你遇到的InaccessibleObjectException是因为Java 9及以上版本的模块系统限制了反射对java.lang.Thread.inheritableThreadLocals字段的访问,而0.11版本的bzm Parallel Controller依赖这种反射操作。GUI模式正常是因为可能使用的是Java 8(无模块系统限制),或者JMeter GUI启动时自动添加了兼容参数。

解决办法

1. 升级bzm Parallel Controller插件版本

0.12及以上版本的插件已修复Java模块系统兼容问题,在Maven依赖中更新版本即可:

<dependency>
    <groupId>com.blazemeter</groupId>
    <artifactId>jmeter-parallel</artifactId>
    <version>0.12</version> <!-- 或更高稳定版本 -->
    <scope>test</scope>
</dependency>

2. 添加JVM启动参数(无法升级插件时)

如果暂时不能升级插件,给Maven执行JMeter的过程添加JVM参数,开放模块访问权限:

  • 若使用jmeter-maven-plugin,在插件配置中加入jvmArgs:
<plugin>
    <groupId>com.lazerycode.jmeter</groupId>
    <artifactId>jmeter-maven-plugin</artifactId>
    <version>3.5.0</version> <!-- 匹配你的插件版本 -->
    <configuration>
        <jvmArgs>
            <jvmArg>--add-opens java.base/java.lang=ALL-UNNAMED</jvmArg>
        </jvmArgs>
        <!-- 其他原有配置 -->
    </configuration>
</plugin>
  • 或者直接在Maven命令中指定参数:
mvn clean verify -Djmeter.jvmargs="--add-opens java.base/java.lang=ALL-UNNAMED"

3. 统一Java版本

检查Maven使用的Java版本是否与JMeter GUI一致。如果GUI用的是Java 8,将Maven的JDK切换到Java 8——Java 8没有模块系统,不会触发该异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 17:45:28