SonarQube 5.3 尝试启动然后停止

SonarQube 5.3 Attemps Starting then Stops

我研究 SonarQube 有一段时间了,现在我在我目前工作的地方需要它。不过,首先,我尝试在本地安装它,并在将其提交到服务器环境之前让它分析我们的一个项目。但是事实证明,安装SonarQube比最初想象的要麻烦。

我去了 SonarQube 网站查看有关如何设置它的文档。我当前的设置是:

所以我进入 SonarQube 属性开始设置它。我得到以下设置:

当我尝试 运行 StartSonar.bat(作为管理员)时,它在 sonar.log 文件中给了我这个:

--> Wrapper Started as Console
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2016.04.13 10:32:08 INFO  app[o.s.p.m.JavaProcessLauncher] Launch process[search]: C:\Program Files\Java\jre7\bin\java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true # -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 # -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=C:\Users\smf\Documents\sonarqube-5.3\temp -cp ./lib/common/*;./lib/search/* org.sonar.search.SearchServer C:\Users\smf\AppData\Local\Temp\sq-process4147018529192614354properties
Error: Could not find or load main class #
<-- Wrapper Stopped

我不确定为什么它找不到主要 class。我没有做任何改变文件结构的事情。它只是作为自己的文件夹 (C:\Users\smf\Documents\sonarqube-5.3).

被提取到 Documents 中

附带说明一下,我无法使用 Windows 服务选项。我可以安装该服务,但每当我尝试启动它时,我都被告知该服务已启动但无法启动。

一切都是关于 #:

Could not find or load main class #

那是因为启动 Java 进程时有一个 # 不属于那里:

-Xms256m -Xss256k -Djava.net.preferIPv4Stack=true # -XX:+UseParNewGC

我敢打赌,这个 # 来自您 sonar.properties 文件中的以下内容:

sonar.search.javaOpts=-Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true \
#  -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 \
#  -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError

即您只会取消注释第一行,但该行末尾的 \ 意味着下一行不被视为注释,而是作为 JVM 选项传递,包括 #

两种解决方案:

  • 删除第一行的结尾\
  • 首选解决方案:取消注释剩余的两行