JMeter 4.0启动抛出ExceptionInInitializerError,无法访问菜单求助
解决JMeter 4.0启动时的Java.lang.ExceptionInInitializerError异常
这个问题我之前帮不少开发者排查过,核心是JMeter 4.0和Java环境、系统UI渲染的兼容性问题,结合你没有安装第三方库的情况,给你几个具体的解决思路:
检查Java版本兼容性:JMeter 4.0明确要求使用Java 8(Oracle JDK 8或OpenJDK 8),高版本Java(比如Java 9及以上)和它的兼容性很差。你可以打开命令行执行
java -version确认当前Java版本,如果版本不对,建议卸载高版本Java,安装符合要求的Java 8版本。强制使用默认Swing主题:系统自定义的UI主题可能会和JMeter依赖的MetalLookAndFeel冲突,导致这个NPE。你可以修改JMeter的启动脚本:
- Windows系统:打开
jmeter.bat,在开头添加set JAVA_OPTS=-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel - Linux/Mac系统:打开
jmeter.sh,在开头添加export JAVA_OPTS="-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel"
之后重新启动JMeter试试。
- Windows系统:打开
解决高DPI显示兼容问题:如果你的显示器是高DPI(比如4K屏),Swing组件渲染可能会出问题。可以在启动脚本的JAVA_OPTS里再加一个参数:
-Dsun.java2d.dpiaware=false,组合起来就是:- Windows:
set JAVA_OPTS=-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dsun.java2d.dpiaware=false - Linux/Mac:
export JAVA_OPTS="-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel -Dsun.java2d.dpiaware=false"
- Windows:
清理JMeter配置缓存:旧的配置文件可能残留异常设置,找到JMeter的用户配置目录:
- Windows:
%USERPROFILE%\jmeter - Linux/Mac:
~/.jmeter
删除目录里的jmeter.properties和user.properties文件,然后重新启动JMeter,它会自动生成默认配置。
- Windows:
更换Java安装包:如果用的是OpenJDK 8,试试换成Oracle JDK 8(反之亦然),部分OpenJDK的Swing实现存在小的兼容性bug,可能导致这个问题。
内容的提问来源于stack exchange,提问作者user3803807
相关产品推荐
相关产品推荐

