On 26 March 2011 15:50, Josh Kamau <[email protected]> wrote:

>
> Am trying to use mybatis-guice library.
>
> Here is some code.
>
> //to create an injector
>
> Injector injector = Guice.createInjector(new GuiceModule(), new
> XMLMyBatisModule.Builder().setEnvironmentId("test").create();
>
> //to get a mapper instance
> JobMapper jobMapper = getInjector().getInstance(JobMapper.class);
>
> running calling a method on the mapper , i get the following error:
>
>
> -------------------------------------------------------------------------------
> Test set: com.dg.lsys.test.JobMapperTest
>
> -------------------------------------------------------------------------------
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.501 sec
> <<< FAILURE!
> testGetLatestJobs(com.dg.lsys.test.JobMapperTest)  Time elapsed: 0.472 sec
> <<< ERROR!
> java.lang.NoSuchMethodError:
> com.google.inject.util.Providers.guicify(Ljavax/inject/Provider;)Lcom/google/inject/Provider;
>         at org.mybatis.guice.EachMapper.bindMapper(EachMapper.java:43)
>         at org.mybatis.guice.EachMapper.doHandle(EachMapper.java:39)
>         at org.mybatis.guice.EachMapper.doHandle(EachMapper.java:29)
>         at
> org.mybatis.guice.iterables.$ItemHandler.handle(ItemHandler.java:37)
>         at
> org.mybatis.guice.XMLMyBatisModule.configure(XMLMyBatisModule.java:92)
>         at
> com.google.inject.AbstractModule.configure(AbstractModule.java:59)
>         at
> com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
>         at com.google.inject.spi.Elements.getElements(Elements.java:101)
>         at
> com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
>         at
> com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:115)
>         at
> com.google.inject.InjectorBuilder.build(InjectorBuilder.java:100)
>         at com.google.inject.Guice.createInjector(Guice.java:95)
>         at com.google.inject.Guice.createInjector(Guice.java:72)
>         at com.google.inject.Guice.createInjector(Guice.java:61)
>         at
> com.dg.lsys.test.AbstractBaseTest.getInjector(AbstractBaseTest.java:42)
>         at
> com.dg.lsys.test.AbstractBaseTest.getConnection(AbstractBaseTest.java:48)
>         at
> org.dbunit.DatabaseTestCase.newDatabaseTester(DatabaseTestCase.java:85)
>         at
> org.dbunit.DatabaseTestCase.getDatabaseTester(DatabaseTestCase.java:109)
>         at org.dbunit.DatabaseTestCase.setUp(DatabaseTestCase.java:151)
>         at junit.framework.TestCase.runBare(TestCase.java:132)
>         at junit.framework.TestResult$1.protect(TestResult.java:110)
>         at junit.framework.TestResult.runProtected(TestResult.java:128)
>         at junit.framework.TestResult.run(TestResult.java:113)
>         at junit.framework.TestCase.run(TestCase.java:124)
>         at junit.framework.TestSuite.runTest(TestSuite.java:232)
>         at junit.framework.TestSuite.run(TestSuite.java:227)
>         at
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
>         at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>         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.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
>         at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
>
> I am not sure if its a guice or mybatis-guice problem. So i have posted on
> both forums.
>
> Where could i be going wrong?
>

Which version of Guice are you using?  The "Providers.guicify" method is
available in the 3.0 release (and earlier RCs) but not in 2.0.

PS. you can run Maven with "-X" to see what artifacts end up on the test
classpath, just to confirm what version is actually being used

Kind regards.
> Josh.
>
> --
> 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.
>



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