solved the problem i was using a wrong version of jpa api
On Sep 26, 11:25 pm, Stefan Edenhofer <[email protected]> wrote: > Hi, > > i'am facing a very odd problem. Maybe someone can help me. > > I wrote this simple test class, just to verify if guice is working > (inspired byhttp://fabiostrozzi.eu/2011/03/27/junit-tests-easy-guice/) > > @RunWith(GuiceJUnitRunner.class) > @GuiceModules({PersistenceModule.class }) > public class CsvPersistTest { > > IService service; > > @Inject > public void setService(IService service){ > this.service = service; > } > > @Test > public void testCsvPersist() { > service.persistCsvDataFrom("src/main/resources/some.csv"); > assertTrue(true); > } > > } > > The module and an eager Singleton which starts the persistence service > > public class PersistenceModule extends AbstractModule { > > @Override > protected void configure() { > > JpaPersistModule persistModule = new > JpaPersistModule("jpaUnit"); > install(persistModule); > > bind(JPAInitializer.class).asEagerSingleton(); > > bind(IService.class).to(ServiceImpl.class); > > } > > } > > @Singleton > public class JPAInitializer { > > @Inject > public JPAInitializer(final PersistService service) { > service.start(); > } > > } > > In Eclipse the unit-test works fine! > Guice installs the PersitenceModule and injects the service like it should. > > But when i am running this test with maven-surefire i always get this > exception message: > > ------------------------------------------------------------------------------- > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.387 > sec <<< FAILURE! > initializationError(raw.shit.ioa.test.data.CsvPersistTest) Time > elapsed: 0.009 sec <<< ERROR! > com.google.inject.CreationException: Guice creation errors: > > 1) Error injecting constructor, java.lang.NullPointerException > at raw.shit.ioa.data.init.JPAInitializer.<init>(JPAInitializer.java:12) > at > raw.shit.ioa.data.init.PersistenceModule.configure(PersistenceModule.java:20) > while locating raw.shit.ioa.data.init.JPAInitializer > > 1 error > at > com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435) > at > com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:183) > at > com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109) > at com.google.inject.Guice.createInjector(Guice.java:95) > at com.google.inject.Guice.createInjector(Guice.java:83) > at > raw.shit.ioa.test.data.GuiceJUnitRunner.createInjectorFor(GuiceJUnitRunner.java:51) > at > raw.shit.ioa.test.data.GuiceJUnitRunner.<init>(GuiceJUnitRunner.java:37) > 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 > org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31) > at > org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24) > at > org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) > at > org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29) > at > org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) > at > org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24) > at > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102) > at org.apache.maven.surefire.Surefire.run(Surefire.java:180) > 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:350) > at > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021) > Caused by: java.lang.NullPointerException > at > javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:121) > at > javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:73) > at > com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:94) > at raw.shit.ioa.data.init.JPAInitializer.<init>(JPAInitializer.java:13) > at > raw.shit.ioa.data.init.JPAInitializer$$FastClassByGuice$$72926fbc.newInstance(<generated>) > at > com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) > at > com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60) > at > com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) > at > com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.Scopes$1$1.get(Scopes.java:65) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) > at > com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204) > at > com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) > at > com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198) > at > com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179) > ... 25 more > > First i checked the classpath, but it seems fine > [DEBUG] Test Classpath : > [DEBUG] > /home/stefan/workspace/IncomeOutcomeAnalyzer/ioa-data/target/test-classes > [DEBUG] /home/stefan/workspace/IncomeOutcomeAnalyzer/ioa-data/target/classes > [DEBUG] > /home/stefan/.m2/repository/org/ow2/spec/ee/ow2-jpa-2.0-spec/1.0.9/ow2-jpa-2.0-spec-1.0.9.jar > [DEBUG] > /home/stefan/.m2/repository/org/hibernate/hibernate-core/4.0.0.CR3/hibernate-core-4.0.0.CR3.jar > [DEBUG] /home/stefan/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar > [DEBUG] > /home/stefan/.m2/repository/org/jboss/logging/jboss-logging/3.0.0.GA/jboss-logging-3.0.0.GA.jar > [DEBUG] > /home/stefan/.m2/repository/org/hibernate/common/hibernate-commons-annotations/4.0.0.CR2/hibernate-commons-annotations-4.0.0.CR2.jar > [DEBUG] /home/stefan/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar > [DEBUG] > /home/stefan/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar > [DEBUG] > /home/stefan/.m2/repository/commons-collections/commons-collections/3.1/commons-collections-3.1.jar > [DEBUG] > /home/stefan/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final.jar > [DEBUG] > /home/stefan/.m2/repository/com/fasterxml/classmate/0.5.4/classmate-0.5.4.jar > [DEBUG] > /home/stefan/.m2/repository/org/jboss/jandex/1.0.3.Final/jandex-1.0.3.Final.jar > [DEBUG] > /home/stefan/.m2/repository/javassist/javassist/3.12.0.GA/javassist-3.12.0.GA.jar > [DEBUG] /home/stefan/.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar > [DEBUG] > /home/stefan/.m2/repository/org/hibernate/hibernate-entitymanager/4.0.0.CR3/hibernate-entitymanager-4.0.0.CR3.jar > [DEBUG] > /home/stefan/.m2/repository/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.jar > [DEBUG] > /home/stefan/.m2/repository/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.jar > [DEBUG] /home/stefan/.m2/repository/log4j/log4j/1.2.13/log4j-1.2.13.jar > [DEBUG] > /home/stefan/.m2/repository/com/google/inject/guice/3.0/guice-3.0.jar > [DEBUG] > /home/stefan/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar > [DEBUG] > /home/stefan/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar > [DEBUG] > /home/stefan/.m2/repository/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0.jar > [DEBUG] /home/stefan/.m2/repository/org/hsqldb/hsqldb/2.0.0/hsqldb-2.0.0.jar > [DEBUG] /home/stefan/.m2/repository/junit/junit/4.9/junit-4.9.jar > [DEBUG] > /home/stefan/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar > [DEBUG] /home/stefan/.m2/repository/org/dbunit/dbunit/2.4.8/dbunit-2.4.8.jar > [DEBUG] /home/stefan/.m2/repository/atunit/atunit/1.0.1/atunit-1.0.1.jar > > versions: > Eclipse 3.5.2 > jdk 1.6.0_21 > maven 2.2.1 > > regards, > Stefan -- 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.
