2011-04-20 53 views
0

我在運行HtmlUnit測試用例時遇到了一些Maven配置文件設置問題。 配置文件使用Maven Cargo插件部署應用程序,然後使用HtmlUnit在部署的應用程序上運行接口測試。Tomcat無法通過Hudson從Cargo插件進行部署,NoClassDefFoundError

在我的本地機器上,我能夠每次運行這個Maven配置文件而不會失敗,但是在運行Hudson(版本1.386)的持續集成服務器上,此配置文件無論是可以部署還是部署不。我的Tomcat日誌顯示此錯誤:

SEVERE: Error configuring application listener of class org.apache.myfaces.webapp.StartupServletContextListener java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.myfaces.webapp.AbstractMyFacesListener.(AbstractMyFacesListener.java:36) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4079) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) ... 23 more

的問題是令人費解,因爲它可能發生,也可能不無上的代碼和任何更改完全相同的代碼運行完全在我的本地機器上的事實發生。問題/錯誤純粹是Cargo插件中部署的一部分,但沒有明確的理由說明它發生的原因。任何想法,建議或解決方案都會對我有很大的幫助。

更多的細節:

本地計算機(運行):Windows 7的64位,Maven的2.2.1,Tomcat的6.0.32

CIS服務器(失敗):Windows 2008 Server的64位,Maven 2.2.1,Tomcat 6.0.32,Hudson 1.386。

Maven的命令&目標: 「MVN clover2:儀器clover2:三葉草網站-P一體化」(整合是Maven的配置文件)

回答

相關問題