我构建了我的grails应用程序的WAR,并尝试将其部署到我的本地tomcat实例(Tomcat 6.0.26)。但是应用程序无法启动,因为这个异常(从日志中复制):
2011-05-09 17:49:31 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
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 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: CodeCoverageGrailsPlugin
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
... 3 more
这很奇怪,因为生产环境中不应存在代码覆盖。我检查了\WEB-ING\lib
目录,其中tomcat解压缩了我的网络应用程序,我没有找到任何与cobertura相关的罐子。知道如何让我的应用程序运行吗?
使用grails prod run-war
在嵌入式Tomcat实例中运行应用程序会产生同样的问题。
我没有足够好google: code-coverage plugin issue 36
答案 0 :(得分:1)
问题仅出现在代码覆盖率插件的1.2.2版中。升级到1.2.4版解决了这个问题。