Te sugerimos que pruebes esta resolución en un ambiente controlado antes de enviarlo a producción, un saludo.
Solución:
Obtuve la solución de los archivos de registro del sonar. Puede encontrar los registros de inicio del servidor en el archivo sonar.log en el directorio “sonarqube-4.5logs”.
No pude iniciar el servidor debido a la siguiente excepción de enlace de puerto:
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]
Entonces, cambié el número de puerto a “4950” de “9000” en el archivo sonar.properties en el directorio “sonarqube-4.5conf”.
# 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
El servidor se inició correctamente después de cambiar el número de puerto.
Si ya había iniciado Sonar y cancelado el proceso en el símbolo del sistema, su JVM aún se estaría ejecutando en segundo plano.
Elimine el proceso de Java e intente nuevamente, funciona. Intenté y funcionó para mí.
La razón detrás de este problema es que SONAR ya está utilizando el número de puerto, no finalizó correctamente SONAR. Hay dos maneras de deshacerse de esto,
- Identifique el número de puerto mediante el archivo de registro (sonarqube-4.5logs). Luego identifique el PID para ese proceso. Luego elimine el proceso usando PID.
El registro se verá como
java.net.BindException: Address already in use: **JVM_Bind /0.0.0.0:9000**
Para encontrar el PID
netstat -a -n -o | find "port_num"
Para matar el proceso
taskkill /F /PID "pid"
- Simplemente cierre sesión en el sistema e inicie sesión nuevamente, luego inicie el archivo StartSonar.bat. Definitivamente funcionará.
Valoraciones y reseñas
Te invitamos a confirmar nuestro trabajo poniendo un comentario y puntuándolo te damos la bienvenida.