2011-12-18 4 views
0

Grails (1.3.7)에서 애플리케이션을 개발했으며 우분투 서버에서 실행중인 Tomcat6에서이를 실행하고 있습니다.Tomcat6에서 실행중인 Grails 애플리케이션 - 컨텍스트 초기화가 실패했습니다.

이 오류는 응용 프로그램을 배포 한 후에보고됩니다. 뭘 잘못 생각 했니? 당신이 Foo 클래스에 정적 메타 메소드를 추가

Foo.metaClass.static.someNewMethod = { ... } 

같은 일부 코드를 의미한다

2011-12-18 00:06:41,319 [main] ERROR 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 groovy.lang.MissingPropertyException: No such property: static for class: groovy.lang.MetaClassImpl 
     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(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:616) 
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
Caused by: groovy.lang.MissingPropertyException: No such property: static for class: groovy.lang.MetaClassImpl 
     at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49) 
     at org.codehaus.groovy.runtime.callsite.PojoMetaClassGetPropertySite.getProperty(PojoMetaClassGetPropertySite.java:35) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:235) 
     at org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin.registerConstraintsProperty(DomainClassGrailsPlugin.groovy:169) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassProperty$ComponentDomainClass.<init>(DefaultGrailsDomainClassProperty.java:543) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsDomainClassProperty.setEmbedded(DefaultGrailsDomainClassProperty.java:484) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass.establishDomainClassRelationship(DefaultGrailsDomainClass.java:481) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass.establishRelationships(DefaultGrailsDomainClass.java:252) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass.<init>(DefaultGrailsDomainClass.java:108) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass.<init>(DefaultGrailsDomainClass.java:119) 
     at org.codehaus.groovy.grails.commons.DomainClassArtefactHandler.newArtefactClass(DomainClassArtefactHandler.java:52) 
     at org.codehaus.groovy.grails.commons.AnnotationDomainClassArtefactHandler.newArtefactClass(AnnotationDomainClassArtefactHandler.java:53) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.addArtefact(DefaultGrailsApplication.java:640) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.configureLoadedClasses(DefaultGrailsApplication.java:347) 
     at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.initialise(DefaultGrailsApplication.java:857) 
     at org.codehaus.groovy.grails.plugins.GrailsPluginManagerFactoryBean.afterPropertiesSet(GrailsPluginManagerFactoryBean.java:110) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
     ... 37 more 

답변

1

하지 않음이 여전히 당신을 위해 문제가 있는지,하지만 난이 Grails 애플리케이션의 재 구축이 있다고 가정? 컨텍스트 로딩이 실제로 실패하는 곳은 무작위 적입니다 (현지화 클래스에서 나에게 일어난 일입니다). How to debug ContextLoader - Context initialization failed and BeanCreationException

... 뭔가 이론적으로 당신의 바람둥이 캐시 문제 틀리거나 잘못입니다 : 여기 허용 대답에 따르면

.

tomcat6/work 및/tmp 디렉토리의 파일을 제거하고 다시 배포하십시오. 우분투 컴퓨터의 tomcat6 $CATALINA_HOME/work 디렉토리는 실제로는 /var/cache/tomcat6입니다.

+0

좋아요! 이것은 정말로 문제를 해결했습니다. –

0

오류 메시지가 말한다 "groovy.lang.MetaClassImpl 그러한 재산권 : 정적 클래스" . 당신이 그루비의 이전 버전을 사용하는 경우에는 static 부분을 인용합니다 :

Foo.metaClass.'static'.someNewMethod = { ... } 
+0

나는 그런 종류의 방법을 구현하지 않았 음을 확신한다. Grails에서 오류가 될 수 있습니까? –

+1

플러그인에 있어야합니다. –

관련 문제