Thanks Mark. *Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau*
2013/5/31 Mark Struberg <[email protected]> > will fix this now :=) > > LieGrue, > strub > > > > > ----- Original Message ----- > > From: Romain Manni-Bucau <[email protected]> > > To: [email protected] > > Cc: > > Sent: Thursday, 30 May 2013, 19:43 > > Subject: Re: Javaagent throwing NoClassDefFoundError > > > > 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 > >> > > >
