2011-11-24 56 views
0

我为我的应用使用了jsf2插件。 运行与“运行应用程序”的应用程序,它工作正常。带有JSF2的Grails:WAR无法在Tomcat上运行6

但是当我部署战到一个干净的Tomcat 6,出现此错误:

com.sun.faces.config.ConfigurationException: 
    Source Document: web.xml 
    Cause: Unable to create a new instance of 'org.doc4web.grails.jsf.facelets.GrailsResourceResolver': org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'groovyPageResourceLoader' is defined 
    at com.sun.faces.facelets.util.ReflectionUtil.decorateInstance(ReflectionUtil.java:252) 
    at com.sun.faces.application.ApplicationAssociate.createFaceletFactory(ApplicationAssociate.java:582) 
    at com.sun.faces.application.ApplicationAssociate.<init>(ApplicationAssociate.java:215) 
    at com.sun.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:209) 
    at com.sun.faces.application.ApplicationFactoryImpl.getApplication(ApplicationFactoryImpl.java:107) 
    at com.sun.faces.config.processor.AbstractConfigProcessor.getApplication(AbstractConfigProcessor.java:130) 
    at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:252) 
    at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114) 
    at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116) 
    at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114) 
    at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:223) 
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:335) 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    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:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'groovyPageResourceLoader' is defined 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:527) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1083) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:274) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:266) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1075) 
    at org.doc4web.grails.jsf.facelets.GrailsResourceResolver.<init>(GrailsResourceResolver.java:34) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
    at java.lang.Class.newInstance0(Class.java:355) 
    at java.lang.Class.newInstance(Class.java:308) 
    at com.sun.faces.facelets.util.ReflectionUtil.decorateInstance(ReflectionUtil.java:233) 
    ... 36 more 

有关其他信息:

我不得不复制JSF-API(钻嘴鱼科2.0.2 )libs到Tomcat的lib文件夹中。否则,找不到javax.faces.application.ApplicationFactory

+1

我在jsf2插件中发现了一个不好的实现。 GrailsResourceResolver.java总是使用GroovyPageResourceLoader。但是这个ResourceLoader是用于在开发模式下从特定文件夹加载gsp的(请参阅grails的javadoc),看起来它没有在可部署的战争中实例化。我会尝试在这一点上的错误修正。 – steyze

回答

1

有在谷歌代码可用的备用插件叉:jsf4g

的JSF2插件不会在生产模式工作,因为参考值groovyPageResourceLoader只在开发模式中可用REF- grails-1.x

的分叉的插件有一个修复它,但这不会为需要修复的Grails2.x工作。

相关问题