Are you able to try it with Guice 3?  It has some better error messaging for
assisted inject.
 sam

On Wed, May 11, 2011 at 4:10 PM, gary <[email protected]> wrote:

> I am trying to use assisted inject in guice v2 under eclipse inside a
> bundle in helios (eclipse 3.6)
> however I am getting a problem with IllegaAccessErrors:
>
>
> Caused by: java.lang.IllegalAccessError: tried to access class
> com.google.inject.assistedinject.FactoryProvider2 from class
> $com.google.inject.assistedinject.FactoryProvider2$$FastClassByGuice$
> $9dcdf6d7
>        at $com.google.inject.assistedinject.FactoryProvider2$
> $FastClassByGuice$$9dcdf6d7.invoke(<generated>)
>        at
> com.google.inject.internal.cglib.reflect.FastMethod.invoke(FastMethod.java:
> 53)
>        at com.google.inject.SingleMethodInjector
> $1.invoke(SingleMethodInjector.java:59)
>        at
> com.google.inject.SingleMethodInjector.inject(SingleMethodInjector.java:
> 91)
>        at
>
> com.google.inject.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:
> 99)
>        at com.google.inject.MembersInjectorImpl
> $1.call(MembersInjectorImpl.java:76)
>        at com.google.inject.MembersInjectorImpl
> $1.call(MembersInjectorImpl.java:74)
>        at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:
> 804)
>        at
>
> com.google.inject.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:
> 74)
>        at com.google.inject.Initializer
> $InjectableReference.get(Initializer.java:145)
>        at com.google.inject.Initializer.injectAll(Initializer.java:92)
>        at
> com.google.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:
> 171)
>        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
>
> org.dyndns.hephzibah.piltdown.base.services.GuiceSingleton.<init>(GuiceSingleton.java:
> 14)
>        at
>
> org.dyndns.hephzibah.piltdown.plugin.PiltdownPlugin.start(PiltdownPlugin.java:
> 48)
>
>
> here are the classes
>
> in module configure (called from the bundle start method
>
>
>
>
> bind(RootlessPiltdownCommandFactory.class).toProvider(FactoryProvider.newFactory(RootlessPiltdownCommandFactory.class,
> RootlessPiltdownCommand.class));
>
> file RootlessPiltdownCommandFactory.java:
>
> package org.dyndns.hephzibah.piltdown.commands;
>
> import java.io.File;
>
>
> public interface RootlessPiltdownCommandFactory {
>        public RootlessPiltdownCommand create(String command, String
> uiName);
>        public RootlessPiltdownCommand create(String command, String
> uiName,File workingDir);
>
>
>
> }
>
> in RootlessPiltdownCommand.java:
>
> package org.dyndns.hephzibah.piltdown.commands;
>
> import java.io.File;
>
> public class RootlessPiltdownCommand extends AbstractShellCommand {
>
>
>        @Inject
>        public RootlessPiltdownCommand(CoreCommandServices services,
> @Assisted  String command,  @Assisted  String uiName) {
>                this(services, command, uiName, (File) null);
>        }
>
>        @Inject
>        public RootlessPiltdownCommand(CoreCommandServices services,
> @Assisted  String command,  @Assisted  String uiName,  @Assisted File
> workingDir) {
>                super(services, uiName, null, workingDir, false);
>
>                Assert.isNotNull(command);
>                this.command = command;
>        }
>
>        // operations
> ...
> }
>
>
> can anyone help me I am most confused as to the problem as manually
> creating a factory and binding it seems to work ;-)...
>
>
> regards
> gary
>
> --
> 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.
>
>

-- 
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