使用Visual Studio配置SonarLint时,启动SonarQube遇JVM创建失败错误
解决SonarQube启动时的JVM参数错误问题
你遇到的错误是因为Java版本与SonarQube 9.5.0不兼容导致的。--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED是Java 9及以上版本才支持的JVM参数,而你当前使用的Java版本(大概率是Java 8或更低)无法识别该参数,所以启动失败。
解决步骤:
- 检查当前Java版本:打开命令提示符,执行
java -version,确认输出的版本号。 - 安装适配版本:SonarQube 9.5.0要求使用Java 11,若当前版本低于11,安装Java 11(OpenJDK或Oracle JDK均可)。
- 配置环境变量:将
JAVA_HOME设置为Java 11的安装目录,同时确保PATH中Java 11的bin目录优先级高于其他Java版本。 - 重启SonarQube:回到SonarQube的
C:\sonarqube-9.5.0.56709\bin\windows-x86-64目录,重新执行startsonar命令。
替代方案(无需修改系统环境变量):
找到SonarQube安装目录下的conf/wrapper.conf文件,修改wrapper.java.command参数,指定Java 11的java.exe完整路径,示例:
wrapper.java.command=C:\Program Files\Java\jdk-11.0.16\bin\java.exe
保存配置后再启动SonarQube即可。
原始错误信息:
C:\sonarqube-9.5.0.56709\bin\windows-x86-64>startsonar wrapper | --> Wrapper Started as Console wrapper | Launching a JVM... jvm 1 | Error: Could not create the Java Virtual Machine. jvm 1 | Error: A fatal exception has occurred. Program will exit. jvm 1 | Unrecognized option: --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED wrapper | JVM exited while loading the application. wrapper | JVM Restarts disabled. Shutting down. wrapper | <-- Wrapper Stopped
内容的提问来源于stack exchange,提问作者Shiv kumar K
相关产品推荐
相关产品推荐

