Tomcat无法通过Hudson,NoClassDefFoundError从Cargo插件部署

时间:2011-04-20 16:46:09

标签: java tomcat maven hudson cargo

我遇到了Maven配置文件设置的一些问题,无法运行HtmlUnit测试用例。该 profile使用Maven Cargo插件部署应用程序,然后在已部署的应用程序上使用HtmlUnit运行接口测试。

在我的本地机器上,我每次都能干净地运行这个Maven配置文件,但是在运行Hudson(版本1.386)的持续集成服务器上,这个配置文件是否能够部署或未命中。我的Tomcat日志显示此错误:

  

SEVERE:配置org.apache.myfaces.webapp.StartupServletContextListener类的应用程序侦听器时出错   java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory       在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)       在java.lang.Class.newInstance0(Class.java:355)       在java.lang.Class.newInstance(Class.java:308)       at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4079)       在org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)       在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)       在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)       在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)       在org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)       在org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)       在org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)       在org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)       在org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)       在org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)       在org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)       at org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)       在org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)       在org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.run(ContainerBase.java:1590)       在java.lang.Thread.run(Thread.java:662)   引起:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory       在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)       在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)       ......还有23个

问题很困惑,因为它可能发生,或者如果没有代码的任何更改以及完全相同的代码在我的本地计算机上运行完美的事实,它就不可能发生。问题/错误纯粹是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:clover站点-P集成”(集成是Maven配置文件)

1 个答案:

答案 0 :(得分:0)

您是否看过http://commons.apache.org/logging/troubleshooting.html的最后一部分?