Hudson não consegue iniciar no Tomcat5

Hudson não consegue iniciar no Tomcat5

Hudson é um mecanismo de integração contínua executado como um Java Servlet no Tomcat. https://hudson.dev.java.net/

Tenho o Tomcat 5.5 instalado com sucesso em meu sistema CentOS 5.3. Posso ver e interagir com ele na porta 8080.

Posso fazer upload do arquivo hudson.war que relata sucesso e parece descompactar tudo corretamente no diretório webapps.

No entanto, quando tento iniciar o aplicativo Hudson a partir da página do gerenciador de aplicativos da Web do Tomcat, ele falha no relatório "FAIL - o aplicativo no caminho do contexto /hudson não pôde ser iniciado".

O balanceador, o administrador e outros aplicativos da web padrão parecem iniciar corretamente.

O SELinux está habilitado neste sistema, o que me causou alguns problemas no passado. Não tenho certeza se é relevante para este caso.

O log do Tomcat fica assim:

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'

Responder1

java.lang.NoClassDefFoundError: hudson.model.Hudson

Parece que o carregador de classes não consegue carregar as classes epoderser um problema de permissões devido a SELinux.

Você pode tentar executar a versão incorporada do Hudson, apenas para esclarecer se ela pode funcionar no seu sistema?

Responder2

Não consegui resolver isso por meio da configuração, então tirei uma lição de Aliens e tirei-o da órbita. Afinal, é a única maneira de ter certeza.

Depois de limpar a versão instalada pelo meu gerenciador de pacotes (yum), fui ao site do Tomcat e baixei, instalei e configurei a versão binária do Tomcat 5.5 Core e do aplicativo Web de administração.

Depois disso, tive alguns pequenos problemas de permissão, modifiquei o script que eles mantêm em $CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh para executar o Tomcat como um daemon, e agora tudo parece funcionar bem.

Eu sei, não é uma resposta muito satisfatória, mas eu não podia mais me dar ao luxo de bater a cabeça contra ela.

informação relacionada