SonarQube 5.3 尝试启动然后停止
SonarQube 5.3 Attemps Starting then Stops
我研究 SonarQube 有一段时间了,现在我在我目前工作的地方需要它。不过,首先,我尝试在本地安装它,并在将其提交到服务器环境之前让它分析我们的一个项目。但是事实证明,安装SonarQube比最初想象的要麻烦。
我去了 SonarQube 网站查看有关如何设置它的文档。我当前的设置是:
- Windows 7 64 位
- JDK 7 更新 79
- 微软 SQL 服务器 2012
所以我进入 SonarQube 属性开始设置它。我得到以下设置:
- sonar.jdbc.url=jdbc:sqlserver://obscured;databaseName=sonar;integratedSecurity=true
- sonar.jdbc.maxActive=60
- sonar.jdbc.maxIdle=5
- sonar.jdbc.minIdle=2
- sonar.jdbc.maxWait=5000
- sonar.jdbc.minEvictableIdleTimeMillis=600000
- sonar.jdbc.timeBetweenEvictionRunsMillis=30000
- sonar.web.host=192.0.0.1
- sonar.web.context=/声纳
- sonar.web.port=9000
当我尝试 运行 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 选项传递,包括 #
。
两种解决方案:
- 删除第一行的结尾
\
- 首选解决方案:取消注释剩余的两行
我研究 SonarQube 有一段时间了,现在我在我目前工作的地方需要它。不过,首先,我尝试在本地安装它,并在将其提交到服务器环境之前让它分析我们的一个项目。但是事实证明,安装SonarQube比最初想象的要麻烦。
我去了 SonarQube 网站查看有关如何设置它的文档。我当前的设置是:
- Windows 7 64 位
- JDK 7 更新 79
- 微软 SQL 服务器 2012
所以我进入 SonarQube 属性开始设置它。我得到以下设置:
- sonar.jdbc.url=jdbc:sqlserver://obscured;databaseName=sonar;integratedSecurity=true
- sonar.jdbc.maxActive=60
- sonar.jdbc.maxIdle=5
- sonar.jdbc.minIdle=2
- sonar.jdbc.maxWait=5000
- sonar.jdbc.minEvictableIdleTimeMillis=600000
- sonar.jdbc.timeBetweenEvictionRunsMillis=30000
- sonar.web.host=192.0.0.1
- sonar.web.context=/声纳
- sonar.web.port=9000
当我尝试 运行 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 选项传递,包括 #
。
两种解决方案:
- 删除第一行的结尾
\
- 首选解决方案:取消注释剩余的两行