简体   繁体   English

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

[英]Tomcat failure to deploy from Cargo plugin via Hudson, NoClassDefFoundError

I am having some issues with a Maven profile setup to run HtmlUnit test cases. 我在运行HtmlUnit测试用例的Maven配置文件中遇到一些问题。 The profile uses the Maven Cargo plugin to deploy the application and then subsequently run interface tests with HtmlUnit on the deployed application. 该配置文件使用Maven Cargo插件来部署应用程序,然后在已部署的应用程序上使用HtmlUnit运行接口测试。

On my local machine I am able to run this Maven profile cleanly without fail every time, however on my continuous integration server which is running Hudson (ver. 1.386) this profile is hit or miss whether it is able to deploy or not. 在我的本地计算机上,我能够每次都干净地运行Maven配置文件而不会失败,但是,在运行Hudson(版本1.386)的连续集成服务器上,无论是否能够部署此配置文件,都会受到影响。 My Tomcat log shows this error: 我的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( 严重:配置类org.apache.myfaces.webapp.StartupServletContextListener java.lang.NoClassDefFoundError的应用程序侦听器时出错:org.apache.myfaces.webapp.AbstractMyFacesListener上的org / apache / commons / logging / LogFactory。(AbstractMyFacesListener.java:36)在java.lang.java处sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)处sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)在java.lang。 org.apache.catalina.core.StandardContext的java.lang.Class.newInstance0(Class.java:355)的.newInstance(Constructor.java:513)。 org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)的org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)的listenerStart(StandardContext.java:4079) .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. 在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)在org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)的ContainerBase.java:771)位于org.apache.catalina的.startup.HostConfig.deployDirectories(HostConfig.java:964),位于org.apache.catalina.startup.HostConfig.check(HostConfig.java:1345)处的.startup.Hostal.catalina.startup.HostConfig.deployApps(HostConfig.java:502) )于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)于org.apache.catalina.util.LifecycleEvent(HostConfig.java:303)于org.apache.catalina.core.ContainerBase。 org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)的org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)的backgroundProcess(ContainerBase.java:1337)在org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.run(ContainerBase.java:1590)在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 run(Thread.java:662)原因:java.lang.ClassNotFoundException:org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)处的org.apache.commons.logging.LogFactory。 catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)...还有23

The problem is perplexing because it can happen or it could not happen without ANY changes on the code and the fact that the exact same code runs perfectly on my local machine. 问题是令人困惑的,因为如果不对代码进行任何更改,以及完全相同的代码可以在我的本地计算机上完美运行的事实,它可能发生或不可能发生。 The problem/error is purely part of the deployment within the Cargo plugin, but there is no clear reason why it is occurring. 问题/错误纯粹是Cargo插件内部署的一部分,但尚无明确的原因。 Any thoughts, advice, or solutions would be a great deal of help for me. 任何想法,建议或解决方案都会对我有很大帮助。

Some more details: 一些更多的细节:

Local machine(runs): Windows 7 64-bit, Maven 2.2.1, Tomcat 6.0.32 本地计算机(运行):Windows 7 64位,Maven 2.2.1,Tomcat 6.0.32

CIS Server(fails): Windows 2008 Server 64-bit, Maven 2.2.1, Tomcat 6.0.32, Hudson 1.386. CIS Server(失败):Windows 2008 Server 64位,Maven 2.2.1,Tomcat 6.0.32,Hudson 1.386。

Maven command & goals: "mvn clover2:instrument clover2:clover site -P integration" (integration is the Maven profile) Maven命令和目标:“ MVN clover2:instrument clover2:clover站点-P集成”(集成是Maven配置文件)

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM