On 23 July 2010 21:53, Dennis <[email protected]> wrote:

> I followed the instructions for using guice servlet on App Engine
> ( http://code.google.com/p/google-guice/wiki/GoogleAppEngine ,
> http://code.google.com/p/google-guice/wiki/Servlets ).
> Basically I copied the whole stuff and did not change anything except
> package names (and of course the Servlets to serve).
>
> Whenever I run the project this is what happens:
>
> 23.07.2010 13:46:34 com.google.apphosting.utils.jetty.JettyLogger warn
> WARNING: failed
> com.google.apphosting.utils.jetty.devappenginewebappcont...@1d36dfe{/,D:
> \Data\eclipse\workspace\project\war}: java.lang.AssertionError:
> java.lang.IllegalAccessException: Class
> com.google.inject.DefaultConstructionProxyFactory$1 can not access a
> member of class com.google.inject.servlet.ManagedServletPipeline with
> modifiers "public"
> 23.07.2010 13:46:34 com.google.apphosting.utils.jetty.JettyLogger warn
> WARNING: failed jettycontainerservice$apiproxyhand...@14d5bc9:
> java.lang.AssertionError: java.lang.IllegalAccessException: Class
> com.google.inject.DefaultConstructionProxyFactory$1 can not access a
> member of class com.google.inject.servlet.ManagedServletPipeline with
> modifiers "public"
> 23.07.2010 13:46:34 com.google.apphosting.utils.jetty.JettyLogger warn
> WARNING: Error starting handlers
> java.lang.AssertionError: java.lang.IllegalAccessException: Class
> com.google.inject.DefaultConstructionProxyFactory$1 can not access a
> member of class com.google.inject.servlet.ManagedServletPipeline with
> modifiers "public"
>        at com.google.inject.DefaultConstructionProxyFactory
> $1.newInstance(DefaultConstructionProxyFactory.java:85)
>        at
> com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:
> 85)
>        at com.google.inject.ConstructorBindingImpl
> $Factory.get(ConstructorBindingImpl.java:111)
>        at com.google.inject.ProviderToInternalFactoryAdapter
> $1.call(ProviderToInternalFactoryAdapter.java:45)
>        at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:
> 811)
>        at
>
> com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:
> 42)
>        at com.google.inject.Scopes$1$1.get(Scopes.java:54)
>        at
>
> com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:
> 48)
>        at
>
> com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:
> 42)
>        at
>
> com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:
> 66)
>        at
> com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:
> 84)
>        at com.google.inject.ConstructorBindingImpl
> $Factory.get(ConstructorBindingImpl.java:111)
>        at com.google.inject.ProviderToInternalFactoryAdapter
> $1.call(ProviderToInternalFactoryAdapter.java:45)
>        at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:
> 811)
>        at
>
> com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:
> 42)
>        at com.google.inject.Scopes$1$1.get(Scopes.java:54)
>        at
>
> com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:
> 48)
>        at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
>        at com.google.inject.ProviderToInternalFactoryAdapter
> $1.call(ProviderToInternalFactoryAdapter.java:45)
>        at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:
> 811)
>        at
>
> com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:
> 42)
>        at com.google.inject.Scopes$1$1.get(Scopes.java:54)
>        at
>
> com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:
> 48)
>        at
>
> com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:
> 42)
>        at
>
> com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:
> 66)
>        at
> com.google.inject.SingleMethodInjector.inject(SingleMethodInjector.java:
> 84)
>        at com.google.inject.InjectionRequestProcessor$StaticInjection
> $1.call(InjectionRequestProcessor.java:109)
>        at com.google.inject.InjectionRequestProcessor$StaticInjection
> $1.call(InjectionRequestProcessor.java:106)
>        at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:
> 804)
>        at com.google.inject.InjectionRequestProcessor
> $StaticInjection.injectMembers(InjectionRequestProcessor.java:106)
>        at
>
> com.google.inject.InjectionRequestProcessor.injectMembers(InjectionRequestProcessor.java:
> 74)
>        at
> com.google.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:
> 168)
>        at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:113)
>        at com.google.inject.Guice.createInjector(Guice.java:92)
>        at com.google.inject.Guice.createInjector(Guice.java:69)
>        at com.google.inject.Guice.createInjector(Guice.java:59)
>        at
>
> com.project.server.guice.MyGuiceServletContextListener.getInjector(MyGuiceServletContextListener.java:
> 11)
> at
>
> com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:
> 43)
> (...)
>
> Any ideas?
>

one thing I notice is that ManagedServletPipeline is package-private, but
has a public constructor - so it may be security related

btw, are you using the latest trunk code? walking through the code in trunk,
Guice should try "setAccessible(true)" before falling back to JDK reflection
to call the constructor - and if that fails then there's not much else we
can do as there must be a security manager somewhere that's blocking the
call

--
> You received this message because you are subscribed to the Google Groups
> "google-guice" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-guice%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-guice?hl=en.
>

-- 
Cheers, Stuart

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to