【发布时间】:2011-04-20 16:46:09
【问题描述】:
我在使用 Maven 配置文件设置来运行 HtmlUnit 测试用例时遇到了一些问题。这 profile 使用 Maven Cargo 插件来部署应用程序,然后在部署的应用程序上使用 HtmlUnit 运行接口测试。
在我的本地机器上,我每次都能干净利落地运行这个 Maven 配置文件,但是在我运行 Hudson(1.386 版)的持续集成服务器上,无论它是否能够部署,这个配置文件都会被命中或错过.我的 Tomcat 日志显示此错误:
严重:配置类 org.apache.myfaces.webapp.StartupServletContextListener 的应用程序侦听器时出错 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 在 org.apache.myfaces.webapp.AbstractMyFacesListener.(AbstractMyFacesListener.java:36) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 java.lang.Class.newInstance0(Class.java:355) 在 java.lang.Class.newInstance(Class.java:308) 在 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) 在 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:instrument clover2:clover site -P integration”(集成是 Maven 配置文件)
【问题讨论】:
标签: java tomcat maven hudson cargo