This looks like a bug. I believe you can work around it temporarily by patching BeansWrapper to call setAccessible on the enum Constructor. Can you please file an issue in our tracker?
On Wed, Sep 2, 2009 at 7:30 PM, Hani Naguib <haninag...@gmail.com> wrote: > > The root exception seems to be: > > Nested in org.springframework.beans.factory.BeanCreationException: > Error creating bean with name 'freemarkerConfig' defined in > ServletContext resource [/WEB-INF/gae/gae-web.xml]: Invocation of init > method failed; nested exception is > java.lang.ExceptionInInitializerError: > Undeclared throwable:java.lang.IllegalAccessException: Class > > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Constructor_ > can not access a member of class freemarker.ext.beans.EnumModels with > modifiers "" > at com.google.appengine.runtime.Request.process-8239fb992975c163 > (Request.java) > at sun.reflect.Reflection.ensureMemberAccess(Unknown Source) > at java.lang.reflect.Constructor.newInstance(Constructor.java:42) > at freemarker.ext.beans.BeansWrapper.createEnumModels > (BeansWrapper.java:1535) > at freemarker.ext.beans.BeansWrapper.<init>(BeansWrapper.java:174) > at freemarker.ext.beans.BeansWrapper.<clinit>(BeansWrapper.java:164) > at > freemarker.template.ObjectWrapper.<clinit>(ObjectWrapper.java:69) > at freemarker.core.Configurable.<init>(Configurable.java:132) > at freemarker.template.Configuration.<init>(Configuration.java:109) > at freemarker.template.Configuration.<clinit>(Configuration.java:96) > at > > org.springframework.ui.freemarker.FreeMarkerConfigurationFactory.newConfiguration > (FreeMarkerConfigurationFactory.java:332) > at > > org.springframework.ui.freemarker.FreeMarkerConfigurationFactory.createConfiguration > (FreeMarkerConfigurationFactory.java:265) > at > > org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer.afterPropertiesSet > (FreeMarkerConfigurer.java:114) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods > (AbstractAutowireCapableBeanFactory.java:1369) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean > (AbstractAutowireCapableBeanFactory.java:1335) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean > (AbstractAutowireCapableBeanFactory.java:473) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory > $1.run(AbstractAutowireCapableBeanFactory.java:409) > at java.security.AccessController.doPrivileged(Native Method) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean > (AbstractAutowireCapableBeanFactory.java:380) > at org.springframework.beans.factory.support.AbstractBeanFactory > $1.getObject(AbstractBeanFactory.java:264) > at > > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton > (DefaultSingletonBeanRegistry.java:222) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean > (AbstractBeanFactory.java:261) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean > (AbstractBeanFactory.java:185) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean > (AbstractBeanFactory.java:164) > at > > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons > (DefaultListableBeanFactory.java:429) > at > > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization > (AbstractApplicationContext.java:728) > at > org.springframework.context.support.AbstractApplicationContext.refresh > (AbstractApplicationContext.java:380) > at > > org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext > (FrameworkServlet.java:402) > at > org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext > (FrameworkServlet.java:316) > at org.springframework.web.servlet.FrameworkServlet.initServletBean > (FrameworkServlet.java:282) > at org.springframework.web.servlet.HttpServletBean.init > (HttpServletBean.java:126) > at javax.servlet.GenericServlet.init(GenericServlet.java:215) > at org.mortbay.jetty.servlet.ServletHolder.initServlet > (ServletHolder.java:433) > at > org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java: > 256) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:40) > at org.mortbay.jetty.servlet.ServletHandler.initialize > (ServletHandler.java:612) > at org.mortbay.jetty.servlet.Context.startContext(Context.java:139) > at org.mortbay.jetty.webapp.WebAppContext.startContext > (WebAppContext.java:1218) > at org.mortbay.jetty.handler.ContextHandler.doStart > (ContextHandler.java:500) > at > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: > 448) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:40) > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler > (AppVersionHandlerMap.java:190) > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler > (AppVersionHandlerMap.java:167) > at > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > (JettyServletEngineAdapter.java:127) > at com.google.apphosting.runtime.JavaRuntime.handleRequest > (JavaRuntime.java:235) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:4950) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:4948) > at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest > (BlockingApplicationHandler.java:24) > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: > 359) > at com.google.net.rpc.impl.Server$2.run(Server.java:823) > at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > (LocalTraceSpanBuilder.java:516) > at com.google.net.rpc.impl.Server.startRpc(Server.java:778) > at com.google.net.rpc.impl.Server.processRequest(Server.java:351) > at com.google.net.rpc.impl.ServerConnection.messageReceived > (ServerConnection.java:437) > at com.google.net.rpc.impl.RpcConnection.parseMessages > (RpcConnection.java:319) > at com.google.net.rpc.impl.RpcConnection.dataReceived > (RpcConnection.java:290) > at com.google.net.async.Connection.handleReadEvent(Connection.java: > 428) > at com.google.net.async.EventDispatcher.processNetworkEvents > (EventDispatcher.java:762) > at com.google.net.async.EventDispatcher.internalLoop > (EventDispatcher.java:207) > at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: > 101) > at com.google.net.rpc.RpcService.runUntilServerShutdown > (RpcService.java:251) > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > (JavaRuntime.java:392) > at java.lang.Thread.run(Unknown Source) > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---