Sonarqube 未启动,退出代码为 [es]:1

Sonarqube not started it exit with exit code [es]:1

Sonarqube 在 windows 上启动正常,但在 5 秒后自行停止。它在 CMd 显示屏上显示打击日志。

C:\sonarqube\bin\windows-x86-64>StartSonar.bat
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    |
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory C:\sonarqube\temp
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [C:\sonarqube\elasticsearch]: C:\Program Files\jre\bin\java -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -Djdk.io.permissionsUseCanonicalPath=true -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home=C:\sonarqube\elasticsearch -cp lib/* org.elasticsearch.bootstrap.Elasticsearch -Epath.conf=C:\sonarqube\temp\conf\es
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
jvm 1    | 2018.01.09 10:05:38 INFO  app[][o.e.p.PluginsService] no modules loaded
jvm 1    | 2018.01.09 10:05:38 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
jvm 1    | 2018.01.09 10:05:39 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1
jvm 1    | 2018.01.09 10:05:39 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
jvm 1    | 2018.01.09 10:05:39 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
wrapper  | <-- Wrapper Stopped

在花了很多时间之后我找到了答案

1.

首先我在 windows 系统上遇到了这个错误,即使我的系统已经安装了 Java

java.lang.illegalstateexception: Sonarqube require java

为了解决这个问题,我发现我的系统安装了 java 版本是 8,而 Sonarcube 需要 11+。 所以我从oracle java 站点下载了JDK11.0.5 并将java 的路径替换为

Sonarqube 目录中存在

\sonarqube-8.0\conf\wrapper.conf 文件 我用这个替换

wrapper.java.command=java

至此

wrapper.java.command=C:\Program Files\Java\jdk-11.0.5\bin\java

然后这个问题就解决了。

这里的 11+ 意味着它应该只是 java 11 版本而不是其他版本。

2.

这里是 sonarqube 运行 但在执行后就停止了。

C:\sonarqube\bin\windows-x86-64>StartSonar.bat
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    |
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory C:\sonarqube\temp
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [C:\sonarqube\elasticsearch]: C:\Program Files\jre\bin\java -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -Djdk.io.permissionsUseCanonicalPath=true -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home=C:\sonarqube\elasticsearch -cp lib/* org.elasticsearch.bootstrap.Elasticsearch -Epath.conf=C:\sonarqube\temp\conf\es
jvm 1    | 2018.01.09 10:05:37 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
jvm 1    | 2018.01.09 10:05:38 INFO  app[][o.e.p.PluginsService] no modules loaded
jvm 1    | 2018.01.09 10:05:38 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
jvm 1    | 2018.01.09 10:05:39 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 1
jvm 1    | 2018.01.09 10:05:39 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
jvm 1    | 2018.01.09 10:05:39 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
wrapper  | <-- Wrapper Stopped

CMD 屏幕上没有错误显示。 但是我检查了 Sonarcube 日志文件中的日志,即 C:\Users\pathto\sonarqube-8.0\logs\es 这里提到了 java 访问被拒绝。 解决这个问题 只需转到文件管理器并右键单击列表中的 This PC 和 select 属性,然后 select 高级系统设置出现在屏幕左上方。然后出现一个弹出屏幕,然后 select Environment variables 然后在路径标记下添加你的 Sonarqube bin 文件夹的路径,如

Path
C:\Users\pathto\sonarqube-8.0\bin\windows-x86-64

并添加为变量

SONAR_RUNNER_HOME
C:\Users\Prashka\Videos\sonarqube-8.0\bin\

添加这些变量后单击“确定”弹出屏幕。然后点击 SonarStart.bat 文件。您的 SonarServer 将开始工作 然后在浏览器中打开http//:localhost:9000,点击登录。 然后登录声纳服务器 与用户 admin 和密码 admin 最后,SonarServer 开始使用管理员面板。