【问题标题】:SonarQube 5.3 Attemps Starting then StopsSonarQube 5.3 尝试启动然后停止
【发布时间】:2016-08-04 05:51:51
【问题描述】:

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

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

  • Windows 7 64 位
  • JDK 7 更新 79
  • Microsoft SQL Server 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
  • 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

我不知道为什么它找不到主类。我没有做任何改变文件结构的事情。它只是在 Documents 中提取为它自己的文件夹 (C:\Users\smf\Documents\sonarqube-5.3)。

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

【问题讨论】:

    标签: sql-server jdbc sonarqube sonarqube-ops


    【解决方案1】:

    这一切都与#有关:

    找不到或无法加载主类#

    那是因为有一个# 在启动 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 选项传递,包括 #

    两种解决方案:

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

    【讨论】:

      猜你喜欢
      • 2018-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多