2009-06-12 25 views
1

我已經開始將Hudson視爲CruiseControl的替代品。我想用它來監控外部工作。我試圖按照此頁面上的建議:Monitoring External Jobs監控Hudson的外部工作

當我運行此命令:

java -jar hudson-core-1.309.jar

我得到這個錯誤:

 
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

因此,事實證明它在當前版本的Hudson中被破解了。我回到了一個較舊的版本(1.291),以使其工作。但是,因爲我的Hudson安裝需要登錄,所以不起作用。此消息http://www.nabble.com/Monitoring-external-cron-jobs-td23511569.html#a23511569表明它將很快移動到CLI jar。 – abendigo 2009-06-18 00:27:11

回答

1

添加的servlet.jar到執行類路徑。 hudson-core-1.309.jar是爲了在Web容器中運行而構建的,因此不包含這些內容。

+0

我正在運行哈德森獨立(即:「java -jar hudson.war」)。 hudson.war中沒有servlet.jar。或者,至少不要在創建的擴展戰爭目錄中。 – abendigo 2009-06-12 12:40:39