Hi, I have a test case that uses jpa-module and hibernate; using org.jboss.arquillian.container:arquillian-weld-ee-embedded-1.1:1.0.0.CR8. The persistence.xml and the test case works correctly.
When I add the data-module, it tries to load the persistence.xml over again and it fails with: URL does not exist: archive:test.war/WEB-INF/classes/META-INF/persistence.xml * Is there a way to disable DescriptorReader to load persistence.xml? * Why does data-module load the persistence.xml? * Any other way to circumvent this problem? * Is this a bug? I read through Mark's blog post: http://struberg.wordpress.com/2012/03/27/unit-testing-strategies-for-cdi-based-projects/, which indicates that this may be due to a classloading issue. The links to Arquillian Wiki is broken (under "Embedded style Arquillian tests"), so I'm a bit lost. Regards Ove INFO: class: org.apache.deltaspike.data.impl.RepositoryExtension activated=true Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: -123,542.439 sec <<< FAILURE! - in org.jboss.weld.WeldTransactionServicesTest org.jboss.weld.WeldTransactionServicesTest Time elapsed: -123,542.44 sec <<< ERROR! org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions: Exception 0 : java.lang.IllegalArgumentException: URL does not exist: archive:test.war/WEB-INF/classes/META-INF/persistence.xml at org.apache.deltaspike.data.impl.meta.unit.DescriptorReader.readFromUrl(DescriptorReader.java:64) at org.apache.deltaspike.data.impl.meta.unit.DescriptorReader.readAllFromClassPath(DescriptorReader.java:50) at org.apache.deltaspike.data.impl.meta.unit.PersistenceUnitReader.readAll(PersistenceUnitReader.java:37) at org.apache.deltaspike.data.impl.meta.unit.PersistenceUnits.readPersistenceXmls(PersistenceUnits.java:98) at org.apache.deltaspike.data.impl.meta.unit.PersistenceUnits.init(PersistenceUnits.java:45) at org.apache.deltaspike.data.impl.RepositoryExtension.beforeBeanDiscovery(RepositoryExtension.java:74) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:90) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:271) at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:121) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:258) at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:237) at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:174) at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:133) at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:107) at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:54) at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:42) at org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:45) at org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:385) at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:76) at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.TestContainer.startContainer(TestContainer.java:273) at org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer.deploy(WeldEEMockContainer.java:105) at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161) at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128) at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271) at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
