我正在使用Sonar生成我项目的代码审查报告.但我无法启动服务器.我正进入(状态
HeapDumpOnOutOfMemoryError
在跑步的时候
StartSonar.bat
文件.
请查找声纳启动时生成的日志.
C:\ TEMP2\Sonar\sonarqube-4.5\bin\windows-x86-32> StartSonar.bat包装器| - > Wrapper作为控制台包装器启动| 启动JVM ... jvm 1
| Wrapper(版本3.2.3)http://wrapper.tanukisoftware.org jvm 1 | 版权所有1999-2006 Tanuki Software,Inc.保留所有权利.jvm 1 | jvm 1 | 2015年7月28日7时30分51秒INFO应用[ospmJavaProcessLauncher]启动过程[搜索]:C:\ SOFTWARE\jdk1.6.0_18\JRE\BIN \的java -Xmx256m -Xms256m - Xss256k -Djava.net.preferIPv4Stack =真-XX :+ UseParNewGC -XX:+ UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction = 75 -XX:+ UseCMSInitiatingOccupancyO NLY -XX:+ HeapDumpOnOutOfMemoryError -Djava.awt.headless =真-Djava.io.tmpdir = C:\ TEMP2 \声纳\ sonarqube-4.5\temp -cp ./lib/common/ ; ./ lib/search /有机 sonar.search.SearchServer C:\ Users\gxs114\AppData\Local\Temp\sq-process8934190933893070058properties jvm 1 | 2015.07.28 07:30:57 INFO app [ospmMonitor]进程[搜索]是jvm 1 | 2015.07.28 07:30:57 INFO app [ospmJavaProcessLauncher]启动进程[web]:C:\ Software\jdk1.6.0_18\jre\bin\java -Xmx768m -XX:MaxPermSi ze = 160m -XX:+ HeapDumpOnOutOfMemoryError -Djava .net.preferIPv4Stack = true -Djava.awt.headless = true -Dfile.encoding = UTF-8 -Djruby.management.enabled = fals e -Djava.io.tmpdir = C:\ TEMP2\Sonar\sonarqube-4.5\temp -cp ./lib/common/ ; ./ lib/server /org.sonar.server.app.WebServer C:\用户\ gxs114 \应用程序数据\本地\碲熔点\ SQ-process4251708419326591677properties JVM 1 | 2015年7月28日7时30分五十七秒INFO应用[ospmTerminatorThread]过程[搜索]正在停止JVM 1 | 2015年7月28日七时30分58秒INFO应用[ospmTerminatorThread]过程[搜索]停止包装| < - Wrapper停止了C:\ TEMP2 \声纳\ sonarqube-4.5\BIN\windows的X86-32>
我该如何解决这个问题?任何想法/解决方案赞赏.
Gun*_*hah 15
我从声纳日志文件本身得到了解决方案.您可以在sonar.log文件的"sonarqube-4.5\logs"目录下找到服务器启动日志.
由于以下端口绑定异常,我无法启动服务器:
2015.07.29 02:46:36 ERROR web[o.a.c.h.Http11Protocol] Failed to initialize end point associated with ProtocolHandler ["http-bio-0.0.0.0-9000"]
java.net.BindException: Address already in use: JVM_Bind /0.0.0.0:9000
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:411) ~[tomcat-embed-core-7.0.54.jar:7.0.54]
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:640) ~[tomcat-embed-core-7.0.54.jar:7.0.54]
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434) ~[tomcat-embed-core-7.0.54.jar:7.0.54]
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119) [tomcat-embed-core-7.0.54.jar:7.0.54]
Run Code Online (Sandbox Code Playgroud)
因此,我在"sonarqube-4.5\conf"目录下的sonar.properties文件中将端口号从"9000"更改为"4950".
# TCP port for incoming HTTP connections. Disabled when value is -1.
sonar.web.port=4950
# TCP port for incoming HTTPS connections. Disabled when value is -1 (default).
#sonar.web.https.port=-1
Run Code Online (Sandbox Code Playgroud)
更改端口号后服务器成功启动.
小智 6
这个问题背后的原因是SONAR已经在使用端口号,你没有正确地结束SONAR.有两种方法可以摆脱这种情况,
日志看起来像
java.net.BindException: Address already in use: **JVM_Bind /0.0.0.0:9000**
Run Code Online (Sandbox Code Playgroud)
找到PID
netstat -a -n -o | find "port_num"
Run Code Online (Sandbox Code Playgroud)
杀死进程
taskkill /F /PID "pid"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42057 次 |
| 最近记录: |