When metadata-complete="false" and add groovy-all-1.7.2.jar to app lib throw java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:290) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:418) Caused by: java.lang.ClassFormatError: groovy/jmx/builder/package-info : illegal JVM_CONSTANT_Class name: groovy/jmx/builder/package-info at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2804) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1144) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1639) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1517) at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1952) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1915) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1802) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1761) at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1747) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1252) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:315) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4700) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:773) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1028) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:278) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:429) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:662) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) at org.apache.catalina.startup.Catalina.start(Catalina.java:592) ... 6 more
What is your JRE version?
I try jdk1.6.0_21 and jrmc-4.0.1-1.6.0 both throw this exception. Only groovy-all-1.7.2 and not test on other groovy version. But this worked fine before until i use latest build.
Fixed in trunk and will be in 7.0.4 onwards. You'll still see the stack trace (since that Groovy class has an invalid name) but context deployment will continue rather than failing.