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

点击JMeter可执行Jar文件无响应,主题兼容问题求助

JMeter启动无响应:DarkLaf主题兼容性问题的原因与解决方法

问题原因

这确实是Java版本与DarkLaf主题库的兼容性问题,你的推测完全正确。

从错误日志能明确看到:

  • JMeter默认启用了DarkLaf深色主题(版本2.1.1),该主题库的代码试图访问java.desktop模块下sun.swing包的内部类(如SwingUtilities2、DefaultLookup)
  • Java 9及以上版本引入的模块化系统(JPMS),默认禁止未命名模块(JMeter的Jar属于此类)访问JDK内部的非公开API,因此抛出IllegalAccessError,直接导致UI线程崩溃,JMeter无法正常启动。

解决方法

方法1:切换到JMeter默认主题(最简单有效)

  1. 打开JMeter安装目录下bin文件夹里的jmeter.properties配置文件
  2. 找到jmeter.laf配置项,将其值修改为默认主题:
    jmeter.laf=javax.swing.plaf.metal.MetalLookAndFeel
    
    若使用Windows系统,也可切换为系统原生主题:
    jmeter.laf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
    
  3. 保存文件后重新启动JMeter即可。

方法2:升级DarkLaf主题库(保留深色主题)

旧版DarkLaf(2.1.1)未适配Java模块化系统,升级到3.x及以上版本即可解决API访问问题:

  1. 下载适配JPMS的最新版darklaf-core.jar
  2. 替换JMeter安装目录lib文件夹下的darklaf-core-2.1.1.jar
  3. 重新启动JMeter,深色主题即可正常加载。

方法3:添加JVM启动参数(临时绕过限制)

如果必须使用旧版DarkLaf,可通过JVM参数临时允许访问内部API:

  • 直接用命令行启动:
    java --add-exports=java.desktop/sun.swing=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED -jar ApacheJMeter.jar
    
  • 或者修改JMeter的启动脚本(jmeter.bat/jmeter.sh),把上述参数添加到JVM启动参数列表中。

注意:此方法仅作为临时方案,长期使用可能因JDK版本更新失效,优先推荐方法1或2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:57:03