2009-06-12 4 views
1

Ich habe begonnen, Hudson als Ersatz für CruiseControl zu betrachten. Ich möchte damit auch externe Jobs überwachen. Ich habe versucht, den Rat auf dieser Seite zu folgen:Überwachung von externen Jobs in Hudson

java -jar hudson-core-1.309.jar

ich diesen Fehler:

 
Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest 
     at hudson.EnvVars.initMaster(EnvVars.java:197) 
     at hudson.EnvVars.(EnvVars.java:192) 
     at hudson.Main.getHudsonHome(Main.java:71) 
     at hudson.Main.run(Main.java:61) 
     at hudson.Main.main(Main.java:53) 
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest 
+0

So stellt sich heraus, es ist in der aktuellen Version von Hudson gebrochen. Ich ging zu einer älteren Version (1.291) zurück, um es zur Arbeit zu bringen. Aber, weil meine Installation von Hudson eine Anmeldung erfordert, funktioniert es nicht. Diese Nachricht http://www.nabble.com/Monitoring-external-cron-jobs-td23511569.html#a23511569 schlägt vor, dass es in Kürze in das CLI-Jar verschoben wird. – abendigo

Antwort

1

hinzufügen servlet.jar zum Ausführen von Classpath Monitoring External Jobs

Wenn ich diesen Befehl ausführen. hudson-core-1.309.jar ist so gebaut, dass es in einem Webcontainer ausgeführt werden kann und daher nicht enthalten ist.

+0

Ich betreibe Hudson stand alone (zB: "java -jar hudson.war"). Es gibt kein servlet.jar in hudson.war. Oder zumindest nicht in der Seite des expandierten Kriegsverzeichnisses, das erstellt wird. – abendigo

+0

Richtig - ich denke, dass das obige bedeutet, dass Hudson eine servlet.jar oder zumindest eine Servlet-api.jar auf dem Klassenpfad haben muss, um HttpServletRequest zu finden. – stevedbrown

Verwandte Themen