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 by http://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.
