Hudson kann in Tomcat5 nicht gestartet werden

Hudson kann in Tomcat5 nicht gestartet werden

Hudson ist eine kontinuierliche Integrations-Engine, die als Java-Servlet in Tomcat ausgeführt wird. https://hudson.dev.java.net/

Ich habe Tomcat 5.5 erfolgreich auf meinem CentOS 5.3-System installiert. Ich kann es über Port 8080 sehen und damit interagieren.

Ich kann die Datei hudson.war hochladen, die eine Erfolgsmeldung enthält und scheinbar alles korrekt in das Webapps-Verzeichnis entpackt.

Beim Versuch, die Hudson-Anwendung von der Tomcat-Webanwendungsmanagerseite aus zu starten, schlägt jedoch ein Fehler mit der Meldung „FEHLER – Anwendung im Kontextpfad /hudson konnte nicht gestartet werden.“ fehl.

Der Balancer, der Admin und andere Standard-Webanwendungen scheinen ordnungsgemäß zu starten.

Auf diesem System ist SELinux aktiviert, was mir in der Vergangenheit einige Probleme bereitet hat. Ich bin nicht sicher, ob es in diesem Fall relevant ist.

Das Tomcat-Protokoll sieht folgendermaßen aus:

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'

Antwort1

java.lang.NoClassDefFoundError: hudson.model.Hudson

Es sieht so aus, als ob der Klassenlader die Klassen nicht laden kann und eskönnteein Berechtigungsproblem aufgrund von sein SELinux.

Können Sie versuchen, die eingebettete Version von Hudson auszuführen, um sicherzustellen, dass sie auf Ihrem System funktioniert?

Antwort2

Ich konnte das nicht durch die Konfiguration lösen, also habe ich mir ein Beispiel an Aliens genommen und es aus dem Orbit gesprengt. Das ist schließlich die einzige Möglichkeit, sicherzugehen.

Nachdem ich die von meinem Paketmanager (yum) installierte Version gelöscht hatte, ging ich zur Tomcat-Site und lud deren Binärversion von Tomcat 5.5 Core und Administration Web Application herunter, installierte und konfigurierte sie.

Danach hatte ich ein paar kleinere Berechtigungsprobleme, habe das Skript in $CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh geändert, um Tomcat als Daemon auszuführen, und jetzt scheint alles gut zu funktionieren.

Ich weiß, das ist keine sehr zufriedenstellende Antwort, aber ich konnte es mir nicht leisten, mir noch länger den Kopf darüber zu zerbrechen.

verwandte Informationen