当我尝试在Linux上启动SonarQube 7.7时,出现以下错误。
WARN web[][o.s.p.ProcessEntryPoint] Fail to start web
java.lang.RuntimeException: org.apache.catalina.LifecycleException: Failed to initialize component [StandardServer[-1]]
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:65)
at org.sonar.server.app.WebServer.start(WebServer.java:51)
at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:113)
at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:100)
at org.sonar.server.app.WebServer.main(WebServer.java:91)
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [StandardServer[-1]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:427)
at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:61)
... 4 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [StandardService[Tomcat]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:875)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 7 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to initialize connector [Connector[HTTP/1.1-9000]]
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util..LifecycleBase.init(LifecycleBase.java:107)
任何帮助将不胜感激。
答案 0 :(得分:1)
您是否更改了sonar.properties文件中的“ sonar.web.port”属性?
当我尝试将此属性设置为端口80时,我遇到了同样的问题。 在Unix系统上未以root用户身份运行时,不允许将其绑定到低端口。
# TCP port for incoming HTTP connections. Default value is 9000.
sonar.web.port=8080
使用默认端口9000可以正常工作。 另外,也可以将低端端口转发到运行声纳Web服务器的端口。
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
此外,应在系统重新启动后保存并还原此iptables配置。为此,根据Unix系统存在不同的方法。
答案 1 :(得分:0)
在ProcessEntryPoint.java类中,有一个到共享目录的连接:
公共静态最终字符串PROPERTY_SHARED_PATH =“ process.sharedDir”;
也许您错过访问权限。您可以尝试以root身份启动以进行测试,也可以在配置中查找 sharedDir 。