Hudson no puede iniciar en Tomcat5

Hudson no puede iniciar en Tomcat5

Hudson es un motor de integración continua que se ejecuta como un servlet Java en Tomcat. https://hudson.dev.java.net/

Tengo Tomcat 5.5 instalado correctamente en mi sistema CentOS 5.3. Puedo verlo e interactuar con él en el puerto 8080.

Puedo cargar el archivo hudson.war que informa que se realizó correctamente y parece descomprimir todo correctamente en el directorio de aplicaciones web.

Sin embargo, cuando intento iniciar la aplicación Hudson desde la página del administrador de aplicaciones web de Tomcat, falla el mensaje "FALLO: no se pudo iniciar la aplicación en la ruta de contexto/Hudson".

El equilibrador, el administrador y otras aplicaciones web predeterminadas parecen iniciarse correctamente.

SELinux está habilitado en este sistema, lo que me ha causado algunos problemas en el pasado. No estoy seguro si es relevante para este caso.

El registro de Tomcat se ve así:

8-Jul-09 4:32:15 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: start: Starting web application at '/hudson'
8-Jul-09 4:32:16 PM hudson.WebAppMain contextInitialized
SEVERE: Failed to initialize Hudson
java.lang.NoClassDefFoundError: hudson.model.Hudson
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at hudson.WebAppMain.installLogger(WebAppMain.java:227)
   at hudson.WebAppMain.contextInitialized(WebAppMain.java:112)
   at org.apache.catalina.core.StandardContext.listenerStart(catalina-5.5.23.jar.so)

   ... snip ...

   at java.lang.Class.initializeClass(libgcj.so.7rh)
   ...24 more
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class hudson.WebAppMain
java.lang.NoClassDefFoundError: hudson.model.Hudson
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at hudson.WebAppMain.installLogger(WebAppMain.java:227)
   at hudson.WebAppMain.contextInitialized(WebAppMain.java:112)
   at org.apache.catalina.core.StandardContext.listenerStart(catalina-5.5.23.jar.so)

   ... snip ... 

   at org.apache.catalina.loader.WebappClassLoader.loadClass(catalina-5.5.23.jar.so)
   at java.lang.Class.forName(libgcj.so.7rh)
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   ...24 more
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/hudson] startup failed due to previous errors
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class hudson.WebAppMain
java.lang.NoClassDefFoundError: hudson.model.Hudson
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at hudson.WebAppMain.contextDestroyed(WebAppMain.java:280)
   at org.apache.catalina.core.StandardContext.listenerStop(catalina-5.5.23.jar.so)

   ... snip ... 

   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(tomcat-util-5.5.23.jar.so)
   at java.lang.Thread.run(libgcj.so.7rh)
8-Jul-09 4:32:16 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'

Respuesta1

java.lang.NoClassDefFoundError: hudson.model.Hudson

Parece que el cargador de clases no puede cargar las clases ypodríaser un problema de permisos debido a SELinux.

¿Puedes intentar ejecutar la versión integrada de Hudson, sólo para aclarar que puede funcionar en tu sistema?

Respuesta2

No pude resolver esto mediante la configuración, así que aprendí una lección de Aliens y lo bombardeé desde la órbita. Después de todo, es la única manera de estar seguro.

Después de borrar la versión instalada por mi administrador de paquetes (yum), fui al sitio de Tomcat y descargué, instalé y configuré su versión binaria de Tomcat 5.5 Core y la aplicación web de administración.

Después de eso tuve algunos problemas menores con permisos, modifiqué el script que guardan en $CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh para ejecutar Tomcat como demonio y ahora todo parece funcionar bien.

Lo sé, no es una respuesta muy satisfactoria, pero ya no podía darme el lujo de golpearme la cabeza contra ella.

información relacionada