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$PersistenceClassFileTransformer.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.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:100) at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.get(NormalScopedBeanInterceptorHandler.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

Reply via email to