Hi
Add asm 4 as a dependency. I added a patch on openjpa to get it handled but
not yet done/deployed
Le 30 mai 2013 19:32, "Reinis Vicups" <[email protected]> a écrit :
> Hi,
>
> when I attempt to launch integration tests with maven-failsafe-plugin, I
> get NoClassDefFound for org.objectweb.asm.ClassVisitor (see stacktrace
> below).
>
> I checked forums but there are only very old posts on this, is this mebbe
> issue with failsafe plugin? Or that some jars are not visible during
> integration-test of maven?
>
> Thank you for your help!
>
> br
> reinis
>
> Maven dep is:
>
> <dependency>
> <groupId>org.apache.openejb</**groupId>
> <artifactId>openejb-javaagent<**/artifactId>
> <version>4.6.0-SNAPSHOT</**version>
> <scope>test</scope>
> </dependency>
>
> failsafe plugin config is:
>
> <plugin>
> <groupId>org.apache.maven.**plugins</groupId>
> <artifactId>maven-failsafe-**plugin</artifactId>
> <version>2.14.1</version>
> <executions>
> <execution>
> <goals>
> <goal>integration-test</goal>
> <goal>verify</goal>
> </goals>
> </execution>
> </executions>
> <configuration>
> <groups>my.IntegrationTest</**groups>
> <includes>
> <include>**/*.class</include>
> </includes>
> <forkMode>pertest</forkMode>
> <argLine>-javaagent:${basedir}**/target/openejb-javaagent-${**
> openejb.version}.jar</argLine>
> <workingDirectory>${basedir}/**target</workingDirectory>
> </configuration>
> </plugin>
>
> Stack trace is:
>
> 1856 default TRACE [main] openjpa.Enhance - Enhancing type "class
> my.Permission" loaded by org.apache.openejb.core.**
> TempClassLoader@140836a8.
> 1874 default WARN [main] openjpa.Enhance - An exception was thrown
> while attempting to perform class file transformation on "my.Permission":
> java.lang.**NoClassDefFoundError: org/objectweb/asm/ClassVisitor
> at org.apache.openjpa.enhance.**PCClassFileTransformer.**transform0(**
> PCClassFileTransformer.java:**156)
> at org.apache.openjpa.enhance.**PCClassFileTransformer.**transform(**
> PCClassFileTransformer.java:**126)
> at org.apache.openjpa.**persistence.**PersistenceProviderImpl$**
> ClassTransformerImpl.**transform(**PersistenceProviderImpl.java:**290)
> at org.apache.openejb.**persistence.**PersistenceUnitInfoImpl$**
> PersistenceClassFileTransforme**r.transform(**
> PersistenceUnitInfoImpl.java:**324)
> at sun.instrument.**TransformerManager.transform(**
> TransformerManager.java:188)
> at sun.instrument.**InstrumentationImpl.transform(**
> InstrumentationImpl.java:424)
> at java.lang.ClassLoader.**defineClass1(Native Method)
> at java.lang.ClassLoader.**defineClass(ClassLoader.java:**791)
> at java.security.**SecureClassLoader.defineClass(**
> SecureClassLoader.java:142)
> at java.net.URLClassLoader.**defineClass(URLClassLoader.**java:449)
> at java.net.URLClassLoader.**access$100(URLClassLoader.**java:71)
> at java.net.URLClassLoader$1.run(**URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(**URLClassLoader.java:355)
> at java.security.**AccessController.doPrivileged(**Native Method)
> at java.net.URLClassLoader.**findClass(URLClassLoader.java:**354)
> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**423)
> at sun.misc.Launcher$**AppClassLoader.loadClass(**Launcher.java:308)
> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**356)
> at java.lang.Class.forName0(**Native Method)
> at java.lang.Class.forName(Class.**java:266)
> at org.apache.openjpa.meta.**MetaDataRepository.**classForName(**
> MetaDataRepository.java:1552)
> at org.apache.openjpa.meta.**MetaDataRepository.**
> loadPersistentTypesInternal(**MetaDataRepository.java:1528)
> at org.apache.openjpa.meta.**MetaDataRepository.**loadPersistentTypes(
> **MetaDataRepository.java:1506)
> at org.apache.openjpa.meta.**MetaDataRepository.**loadPersistentTypes(
> **MetaDataRepository.java:1486)
> at org.apache.openjpa.jdbc.**kernel.JDBCBrokerFactory.**
> synchronizeMappings(**JDBCBrokerFactory.java:141)
> at org.apache.openjpa.jdbc.**kernel.JDBCBrokerFactory.**
> synchronizeMappings(**JDBCBrokerFactory.java:164)
> at org.apache.openjpa.jdbc.**kernel.JDBCBrokerFactory.**newBrokerImpl(
> **JDBCBrokerFactory.java:122)
> at org.apache.openjpa.kernel.**AbstractBrokerFactory.**newBroker(**
> AbstractBrokerFactory.java:**209)
> at org.apache.openjpa.kernel.**DelegatingBrokerFactory.**newBroker(**
> DelegatingBrokerFactory.java:**156)
> at org.apache.openjpa.**persistence.**EntityManagerFactoryImpl.**
> createEntityManager(**EntityManagerFactoryImpl.java:**227)
> at org.apache.openjpa.**persistence.**EntityManagerFactoryImpl.**
> createEntityManager(**EntityManagerFactoryImpl.java:**60)
> at org.apache.openejb.assembler.**classic.**
> ReloadableEntityManagerFactory**.createEntityManager(**
> ReloadableEntityManagerFactory**.java:165)
> at org.apache.openejb.**persistence.**JtaEntityManagerRegistry.**
> getEntityManager(**JtaEntityManagerRegistry.java:**115)
> at org.apache.openejb.**persistence.JtaEntityManager.**
> getEntityManager(**JtaEntityManager.java:91)
> at org.apache.openejb.**persistence.JtaEntityManager.**
> typedProxyIfNoTx(**JtaEntityManager.java:326)
> at org.apache.openejb.**persistence.JtaEntityManager.**
> createQuery(JtaEntityManager.**java:396)
> at my.AccessControlService.**getUserForUsername(**
> AccessControlService.java:41)
> at my.MockAccessControlService.**loggedInUser(**
> MockAccessControlService.java:**23)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
> at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
> at java.lang.reflect.Method.**invoke(Method.java:601)
> at org.apache.openejb.core.**interceptor.**
> ReflectionInvocationContext$**Invocation.invoke(**
> ReflectionInvocationContext.**java:182)
> at org.apache.openejb.core.**interceptor.**
> ReflectionInvocationContext.**proceed(**ReflectionInvocationContext.**
> java:164)
> at org.apache.openejb.monitoring.**StatsInterceptor.record(**
> StatsInterceptor.java:180)
> at org.apache.openejb.monitoring.**StatsInterceptor.invoke(**
> StatsInterceptor.java:99)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
> at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
> at java.lang.reflect.Method.**invoke(Method.java:601)
> at org.apache.openejb.core.**interceptor.**
> ReflectionInvocationContext$**Invocation.invoke(**
> ReflectionInvocationContext.**java:182)
> at org.apache.openejb.core.**interceptor.**
> ReflectionInvocationContext.**proceed(**ReflectionInvocationContext.**
> java:164)
> at org.apache.openejb.core.**interceptor.InterceptorStack.**
> invoke(InterceptorStack.java:**80)
> at org.apache.openejb.core.**stateless.StatelessContainer._**
> invoke(StatelessContainer.**java:213)
> at org.apache.openejb.core.**stateless.StatelessContainer.**
> invoke(StatelessContainer.**java:182)
> at org.apache.openejb.core.ivm.**EjbObjectProxyHandler.**
> synchronizedBusinessMethod(**EjbObjectProxyHandler.java:**256)
> at org.apache.openejb.core.ivm.**EjbObjectProxyHandler.**
> businessMethod(**EjbObjectProxyHandler.java:**251)
> at org.apache.openejb.core.ivm.**EjbObjectProxyHandler._invoke(**
> EjbObjectProxyHandler.java:85)
> at org.apache.openejb.core.ivm.**BaseEjbProxyHandler.invoke(**
> BaseEjbProxyHandler.java:303)
> at my.MockAccessControlService$$**LocalBeanProxy.loggedInUser(**
> my/MockAccessControlService.**java)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
> at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
> at java.lang.reflect.Method.**invoke(Method.java:601)
> at org.apache.webbeans.inject.**InjectableMethod.doInjection(**
> InjectableMethod.java:155)
> at org.apache.webbeans.portable.**ProducerMethodProducer.**produce(**
> ProducerMethodProducer.java:**108)
> at org.apache.webbeans.component.**AbstractOwbBean.create(**
> AbstractOwbBean.java:119)
> at org.apache.webbeans.component.**ProducerMethodBean.create(**
> ProducerMethodBean.java:120)
> at org.apache.webbeans.context.**DependentContext.getInstance(**
> DependentContext.java:68)
> at org.apache.webbeans.context.**AbstractContext.get(**
> AbstractContext.java:125)
> at org.apache.webbeans.container.**BeanManagerImpl.getReference(**
> BeanManagerImpl.java:741)
> at org.apache.webbeans.container.**BeanManagerImpl.**
> getInjectableReference(**BeanManagerImpl.java:622)
> at org.apache.webbeans.inject.**AbstractInjectable.inject(**
> AbstractInjectable.java:95)
> at org.apache.webbeans.inject.**InjectableField.doInjection(**
> InjectableField.java:65)
> at org.apache.webbeans.portable.**InjectionTargetImpl.**injectFields(*
> *InjectionTargetImpl.java:290)
> at org.apache.webbeans.portable.**InjectionTargetImpl.inject(**
> InjectionTargetImpl.java:276)
> at org.apache.webbeans.portable.**InjectionTargetImpl.inject(**
> InjectionTargetImpl.java:265)
> at org.apache.webbeans.component.**AbstractOwbBean.create(**
> AbstractOwbBean.java:123)
> at org.apache.webbeans.context.**creational.BeanInstanceBag.**
> create(BeanInstanceBag.java:**76)
> at org.apache.webbeans.context.**AbstractContext.getInstance(**
> AbstractContext.java:160)
> at org.apache.webbeans.context.**AbstractContext.get(**
> AbstractContext.java:125)
> at org.apache.webbeans.intercept.**NormalScopedBeanInterceptorHan**
> dler.getContextualInstance(**NormalScopedBeanInterceptorHan**
> dler.java:100)
> at org.apache.webbeans.intercept.**NormalScopedBeanInterceptorHan**
> dler.get(**NormalScopedBeanInterceptorHan**dler.java:70)
> at org.apache.webbeans.proxy.**NormalScopeProxyFactory.**
> unwrapInstance(**NormalScopeProxyFactory.java:**87)
> at org.apache.webbeans.inject.**InjectableMethod.doInjection(**
> InjectableMethod.java:91)
> at org.apache.webbeans.portable.**ProducerMethodProducer.**produce(**
> ProducerMethodProducer.java:**108)
> at org.apache.webbeans.component.**AbstractOwbBean.create(**
> AbstractOwbBean.java:119)
> at org.apache.webbeans.component.**ProducerMethodBean.create(**
> ProducerMethodBean.java:120)
> at org.apache.webbeans.context.**DependentContext.getInstance(**
> DependentContext.java:68)
> at org.apache.webbeans.context.**AbstractContext.get(**
> AbstractContext.java:125)
> at org.apache.webbeans.container.**BeanManagerImpl.getReference(**
> BeanManagerImpl.java:741)
> at org.apache.webbeans.container.**BeanManagerImpl.**
> getInjectableReference(**BeanManagerImpl.java:622)
> at org.apache.webbeans.inject.**AbstractInjectable.inject(**
> AbstractInjectable.java:95)
> at org.apache.webbeans.inject.**InjectableField.doInjection(**
> InjectableField.java:65)
> at org.apache.webbeans.portable.**InjectionTargetImpl.**injectFields(*
> *InjectionTargetImpl.java:290)
> at org.apache.webbeans.portable.**InjectionTargetImpl.inject(**
> InjectionTargetImpl.java:276)
> at org.apache.webbeans.portable.**InjectionTargetImpl.inject(**
> InjectionTargetImpl.java:265)
> at org.apache.webbeans.inject.**OWBInjector.inject(**
> OWBInjector.java:57)
> at org.apache.openejb.testing.**ApplicationComposers.before(**
> ApplicationComposers.java:596)
> at org.apache.openejb.testing.**ApplicationComposers.evaluate(**
> ApplicationComposers.java:666)
> at org.apache.openejb.junit.**ApplicationComposer$**
> DeployApplication.evaluate(**ApplicationComposer.java:64)
> at org.junit.runners.**ParentRunner.runLeaf(**ParentRunner.java:263)
> at org.junit.runners.**BlockJUnit4ClassRunner.**runChild(**
> BlockJUnit4ClassRunner.java:**68)
> at org.junit.runners.**BlockJUnit4ClassRunner.**runChild(**
> BlockJUnit4ClassRunner.java:**47)
> at org.junit.runners.**ParentRunner$3.run(**ParentRunner.java:231)
> at org.junit.runners.**ParentRunner$1.schedule(**ParentRunner.java:60)
> at org.junit.runners.**ParentRunner.runChildren(**
> ParentRunner.java:229)
> at org.junit.runners.**ParentRunner.access$000(**ParentRunner.java:50)
> at org.junit.runners.**ParentRunner$2.evaluate(**
> ParentRunner.java:222)
> at org.junit.runners.**ParentRunner.run(ParentRunner.**java:300)
> at org.junit.runners.Suite.**runChild(Suite.java:128)
> at org.junit.runners.Suite.**runChild(Suite.java:24)
> at org.junit.runners.**ParentRunner$3.run(**ParentRunner.java:231)
> at org.junit.runners.**ParentRunner$1.schedule(**ParentRunner.java:60)
> at org.junit.runners.**ParentRunner.runChildren(**
> ParentRunner.java:229)
> at org.junit.runners.**ParentRunner.access$000(**ParentRunner.java:50)
> at org.junit.runners.**ParentRunner$2.evaluate(**
> ParentRunner.java:222)
> at org.junit.runners.**ParentRunner.run(ParentRunner.**java:300)
> at org.junit.runner.JUnitCore.**run(JUnitCore.java:157)
> at org.junit.runner.JUnitCore.**run(JUnitCore.java:136)
> at org.apache.maven.surefire.**junitcore.JUnitCoreWrapper.**
> createReqestAndRun(**JUnitCoreWrapper.java:139)
> at org.apache.maven.surefire.**junitcore.JUnitCoreWrapper.**
> executeEager(JUnitCoreWrapper.**java:111)
> at org.apache.maven.surefire.**junitcore.JUnitCoreWrapper.**
> execute(JUnitCoreWrapper.java:**84)
> at org.apache.maven.surefire.**junitcore.JUnitCoreProvider.**
> invoke(JUnitCoreProvider.java:**138)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
> at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
> at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
> at java.lang.reflect.Method.**invoke(Method.java:601)
> at org.apache.maven.surefire.**util.ReflectionUtils.**
> invokeMethodWithArray2(**ReflectionUtils.java:208)
> at org.apache.maven.surefire.**booter.ProviderFactory$**
> ProviderProxy.invoke(**ProviderFactory.java:159)
> at org.apache.maven.surefire.**booter.ProviderFactory.**
> invokeProvider(**ProviderFactory.java:87)
> at org.apache.maven.surefire.**booter.ForkedBooter.**
> runSuitesInProcess(**ForkedBooter.java:153)
> at org.apache.maven.surefire.**booter.ForkedBooter.main(**
> ForkedBooter.java:95)
> Caused by: java.lang.**ClassNotFoundException:
> org.objectweb.asm.ClassVisitor
> at java.net.URLClassLoader$1.run(**URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(**URLClassLoader.java:355)
> at java.security.**AccessController.doPrivileged(**Native Method)
> at java.net.URLClassLoader.**findClass(URLClassLoader.java:**354)
> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**423)
> at sun.misc.Launcher$**AppClassLoader.loadClass(**Launcher.java:308)
> at java.lang.ClassLoader.**loadClass(ClassLoader.java:**356)
> ... 133 more
>