问题描述
||
我有2个不同的Grails应用程序,使用2个不同版本的代码覆盖率插件。第一个使用版本1.1.8(我知道是旧版本),并且在我构建和部署war文件时,一切都很好。
但是,第二个问题是另一回事。我按照指南中的指示安装了插件,安装的版本为1.2.2。当我发动战争时,不会引发任何错误。但是,当我在Tomcat上部署时,遇到错误。我检查了日志,结果如下:
2011-04-13 23:23:11,927 [Thread-2] ERROR org.springframework.web.context.ContextLoader - Context initialization Failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name \'pluginManager\' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method Failed; nested exception is java.lang.classNotFoundException: CodeCoverageGrailsPlugin
at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.initializeBean(AbstractAutowireCapablebeanfactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.doCreateBean(AbstractAutowireCapablebeanfactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapablebeanfactory.createBean(AbstractAutowireCapablebeanfactory.java:456)
at org.springframework.beans.factory.support.Abstractbeanfactory$1.getobject(Abstractbeanfactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:288)
at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:190)
at org.springframework.beans.factory.support.DefaultListablebeanfactory.preInstantiateSingletons(DefaultListablebeanfactory.java:563)
at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:70)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextinitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
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.deployWAR(HostConfig.java:905)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(UnkNown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(UnkNown Source)
at java.lang.reflect.Method.invoke(UnkNown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.classNotFoundException: CodeCoverageGrailsPlugin
at java.lang.class.forName0(Native Method)
at java.lang.class.forName(UnkNown Source)
2011-04-13 23:23:37,995 [http-8080-3] ERROR org.springframework.web.context.ContextLoader - Context initialization Failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name \'pluginManager\' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method Failed; nested exception is java.lang.classNotFoundException: CodeCoverageGrailsPlugin
at java.lang.Thread.run(UnkNown Source)
Caused by: java.lang.classNotFoundException: CodeCoverageGrailsPlugin
at java.lang.class.forName0(Native Method)
at java.lang.class.forName(UnkNown Source)
... 1 more
2011-04-13 23:24:48,313 [http-8080-3] ERROR org.springframework.web.context.ContextLoader - Context initialization Failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name \'pluginManager\' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method Failed; nested exception is java.lang.classNotFoundException: CodeCoverageGrailsPlugin
at java.lang.Thread.run(UnkNown Source)
Caused by: java.lang.classNotFoundException: CodeCoverageGrailsPlugin
at java.lang.class.forName0(Native Method)
at java.lang.class.forName(UnkNown Source)
... 1 more
事情是,我一直在谷歌上搜索,但似乎这是一个一次性的问题...任何想法吗???为了让我立即发动战争,我每次都必须卸载该插件……当您将应用程序移至自动版本时,您将无法执行此操作! :(
顺便说一句,我正在使用:
雄猫6
Java 1.6
Grails 1.3.6
任何帮助将不胜感激!
谢谢!
背风处
解决方法
看一下这个问题,您通常不需要在war文件中使用代码覆盖插件,因此只需排除它即可。