Android studio SonarQube:错误:无法创建Java虚拟机

Android studio SonarQube:错误:无法创建Java虚拟机,android-studio,java,jvm,sonarqube,Android Studio,Java,Jvm,Sonarqube,我是SonarQube新手,当我运行“C:\SonarQube-8.5.1.38104\bin\windows-x86-64\StartSonar.bat”时,我收到以下错误 -->包装器作为控制台启动 Launching a JVM... Picked up _JAVA_OPTIONS: -Xmx1024M Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org Copyright 1999-2006 Tanuki Softwar

我是SonarQube新手,当我运行“C:\SonarQube-8.5.1.38104\bin\windows-x86-64\StartSonar.bat”时,我收到以下错误

-->包装器作为控制台启动

Launching a JVM...
Picked up _JAVA_OPTIONS: -Xmx1024M
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2020.11.16 13:40:45 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory C:\sonarqube-8.5.1.38104\temp
2020.11.16 13:40:45 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2020.11.16 13:40:45 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [C:\sonarqube-8.5.1.38104\elasticsearch]: C:\Program Files\Java\jdk-15.0.1\bin\java -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=C:\sonarqube-8.5.1.38104\temp -XX:ErrorFile=../logs/es_hs_err_pid%p.log -Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home=C:\sonarqube-8.5.1.38104\elasticsearch -Des.path.conf=C:\sonarqube-8.5.1.38104\temp\conf\es -cp lib/* org.elasticsearch.bootstrap.Elasticsearch
2020.11.16 13:40:45 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
Picked up _JAVA_OPTIONS: -Xmx1024M
Unrecognized VM option 'UseConcMarkSweepGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
2020.11.16 13:40:46 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1
2020.11.16 13:40:46 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
2020.11.16 13:40:46 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
FATAL StatusLogger Interrupted before Log4j Providers could be loaded.
 java.lang.InterruptedException
    at java.base/java.util.concurrent.locks.ReentrantLock$Sync.lockInterruptibly(ReentrantLock.java:159)
    at java.base/java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:372)
    at org.apache.logging.log4j.util.ProviderUtil.lazyInit(ProviderUtil.java:121)
    at org.apache.logging.log4j.util.ProviderUtil.hasProviders(ProviderUtil.java:108)
    at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:89)
    at org.elasticsearch.common.unit.ByteSizeValue.<clinit>(ByteSizeValue.java:39)
    at org.elasticsearch.common.network.NetworkService.<clinit>(NetworkService.java:57)
    at org.elasticsearch.transport.TransportSettings.<clinit>(TransportSettings.java:74)
    at org.elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:105)
    at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:135)
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:277)
    at org.sonar.application.es.EsConnectorImpl$MinimalTransportClient.<init>(EsConnectorImpl.java:103)
    at org.sonar.application.es.EsConnectorImpl.buildTransportClient(EsConnectorImpl.java:89)
    at org.sonar.application.es.EsConnectorImpl.getTransportClient(EsConnectorImpl.java:74)
    at org.sonar.application.es.EsConnectorImpl.getClusterHealthStatus(EsConnectorImpl.java:61)
    at org.sonar.application.process.EsManagedProcess.checkStatus(EsManagedProcess.java:88)
    at org.sonar.application.process.EsManagedProcess.checkOperational(EsManagedProcess.java:73)
    at org.sonar.application.process.EsManagedProcess.isOperational(EsManagedProcess.java:58)
    at org.sonar.application.process.ManagedProcessHandler.refreshState(ManagedProcessHandler.java:220)
    at org.sonar.application.process.ManagedProcessHandler$EventWatcher.run(ManagedProcessHandler.java:285)
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
启动JVM。。。
拾取的JAVA选项:-Xmx1024M
包装器(版本3.2.3)http://wrapper.tanukisoftware.org
1999-2006塔努基软件有限公司版权所有。保留所有权利。
2020.11.16 13:40:45信息应用程序[][o.s.a.AppFileSystem]清理或创建临时目录C:\sonarqube-8.5.1.38104\temp
2020.11.16 13:40:45信息应用程序[][o.s.a.es.EsSettings]Elasticsearch收听/127.0.0.1:9001
2020.11.16 13:40:45信息应用程序[][o.s.a.ProcessLauncherImpl]启动过程[[key='es',IPCDINDEX=1,logFilenamePrefix=es]]来自[C:\sonarqube-8.5.1.38104\elasticsearch]:C:\Program Files\Java\jdk-15.0.1\bin\Java-XX:+UseComcMarkSweepGC-XX:cmsInitiatingOccinecyFraction=75-XX:+UseCmInitingOccinecyOnly-Des.networkaddress.cache.ttl=60-Des.networkaddress.cache.negative.ttl=10-XX:+AlwaysPreTouch-Xss1m-Djava.awt.headless=true-Dfile.encoding=UTF-8-Djna.nosys=true-StackeInFastThrow-Dio.netty.noUnsafe=true-Dio.netty.noKeySetOptimization=true-Dio.netty.recycler.maxCapacityPerThread=0-Dlog4j.ShuttonHocked=false-Dlog4j2.disable.jmx=true-Djava.io.tmpdir=C:\sonarqube-8.5.1.38104\temp-XX:ErrorFile=../logs\es\hs\u errr\pid%p.log-Xmx512m-XX:+HeapdumphonofmutoryError-Delasticsearch-Des.path.home=C:\sonarqube-8.5.1.38104\elasticsearch-Des.path.conf=C:\sonarqube-8.5.1.38104\temp\conf\es-cp lib/*org.elasticsearch.bootstrap.elasticsearch
2020.11.16 13:40:45信息应用程序[][o.s.a.SchedulerImpl]正在等待Elasticsearch启动并运行
拾取的JAVA选项:-Xmx1024M
无法识别的VM选项“UseConMarkSweepGC”
错误:无法创建Java虚拟机。
错误:发生致命异常。程序将退出。
2020.11.16 13:40:46警告应用程序[][o.s.a.p.AbstractManagedProcess]进程已退出,退出值为[es]:1
2020.11.16 13:40:46信息应用程序[][o.s.a.SchedulerImpl]进程停止
2020.11.16 13:40:46信息应用程序[][o.s.a.SchedulerImpl]SonarQube停止
在加载Log4j提供程序之前,致命状态记录器中断。
java.lang.InterruptedException
位于java.base/java.util.concurrent.locks.ReentrantLock$Sync.lockinterruptbly(ReentrantLock.java:159)
位于java.base/java.util.concurrent.locks.ReentrantLock.lockinterruptbly(ReentrantLock.java:372)
位于org.apache.logging.log4j.util.ProviderUtil.lazyInit(ProviderUtil.java:121)
位于org.apache.logging.log4j.util.ProviderUtil.hasProviders(ProviderUtil.java:108)
登录org.apache.logging.log4j.LogManager.(LogManager.java:89)
位于org.elasticsearch.common.unit.ByteSizeValue。(ByteSizeValue.java:39)
在org.elasticsearch.common.NetworkService.(NetworkService.java:57)
在org.elasticsearch.transport.TransportSettings.(TransportSettings.java:74)
在org.elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:105)上
位于org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:135)
在org.elasticsearch.client.transport.TransportClient.(TransportClient.java:277)
位于org.sonar.application.es.EsConnectorImpl$MinimalTransportClient(EsConnectorImpl.java:103)
位于org.sonar.application.es.EsConnectorImpl.buildTransportClient(EsConnectorImpl.java:89)
位于org.sonar.application.es.EsConnectorImpl.getTransportClient(EsConnectorImpl.java:74)
位于org.sonar.application.es.EsConnectorImpl.getClusterHealthStatus(EsConnectorImpl.java:61)
位于org.sonar.application.process.EsManagedProcess.checkStatus(EsManagedProcess.java:88)
位于org.sonar.application.process.EsManagedProcess.checkOperational(EsManagedProcess.java:73)
位于org.sonar.application.process.EsManagedProcess.isOperational(EsManagedProcess.java:58)
位于org.sonar.application.process.ManagedProcessHandler.refreshState(ManagedProcessHandler.java:220)
位于org.sonar.application.process.ManagedProcessHandler$EventWatcher.run(ManagedProcessHandler.java:285)
错误状态记录器Log4j2找不到日志记录实现。请将log4j核心添加到类路径。正在使用SimpleLogger登录到控制台。。。

您的问题很可能是因为您试图使用不受支持的Java版本运行SonarQube

从错误日志中,我假定您正试图根据以下几行代码使用Java 14或Java 15运行它:

Picked up _JAVA_OPTIONS: -Xmx1024M
Unrecognized VM option 'UseConcMarkSweepGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
CMS收集器在Java 9中被弃用,在Java 14中被完全删除:

这意味着尝试启动Sonar的批处理脚本正在传入一些不再有效的JVM参数

根据他们的文档,只支持Java版本是8和11

和以上版本不受支持:

SonarQube扫描仪需要JVM的版本8或11以及 SonarQube服务器需要版本11。Java 11以外的版本不适用 官方支持


我建议您尝试使用正确的Java版本运行它。另外,请事先查看相关文档以避免此类问题。

您的问题很可能是因为您试图使用不受支持的Java版本运行SonarQube

从错误日志中,我假定您正试图根据以下几行代码使用Java 14或Java 15运行它:

Picked up _JAVA_OPTIONS: -Xmx1024M
Unrecognized VM option 'UseConcMarkSweepGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
CMS收集器在Java 9中被弃用,在Java 14中被完全删除:

这意味着尝试启动Sonar的批处理脚本正在传入一些不再有效的JVM参数

根据他们的文档,只支持Java版本是8和11

和以上版本不受支持:

SonarQube扫描仪需要JVM的版本8或11以及 SonarQube服务器需要版本11。Java 11以外的版本不适用 官方支持

我建议您尝试使用正确的Java版本运行它。