使用命令行配置SonarQube时出现JVM启动错误
解决SonarQube启动时JVM创建失败的问题
问题原因
报错中的--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED是Java 9及以上版本才支持的JVM参数,出现这个错误的核心原因是当前使用的Java版本与SonarQube版本不兼容——比如用Java 8启动要求Java 11+的SonarQube版本,就会触发该错误。
解决步骤
1. 检查当前Java版本
执行命令查看当前系统默认的Java版本�� 成 arrangedLongcl,1出("若干full Platformshal:
java -version
如果输出显示版本为1.8.x(即Java 8),则确认是版本不兼容导致的问题。
2. 安装匹配的Java版本
根据你使用的SonarQube版本,安装对应的Java LTS版本:
- SonarQube 8.x:推荐Java 11(也兼容Java 8,但高版本SonarQube已不再支持Java 8)
- SonarQube 9.x/10.x:必须使用Java 11或Java 17
3. 指定SonarQube使用的Java路径
如果系统中有多个Java版本,需要明确告诉SonarQube使用正确的Java:
- 打开SonarQube安装目录下的
conf/wrapper.conf文件 - 找到
wrapper.java.command配置项,修改为对应Java版本的可执行文件路径:- Linux示例:
wrapper.java.command=/usr/lib/jvm/java-11-openjdk/bin/java - Windows示例:
wrapper.java.command=C:\Program Files\Java\jdk-11\bin\java.exe
- Linux示例:
4. 重启验证
保存配置后,重新启动SonarQube,查看启动日志是否正常,若不再出现JVM创建失败的报错,则问题解决。
内容的提问来源于stack exchange,提问作者Rocky
相关产品推荐
相关产品推荐

