[seam-issues] [JBoss JIRA] Commented: (SOLDER-10) To run arquillian tests jboss-logging must be explicitly stated as a dependency of the project

Adam Warski (JIRA) jira-events at lists.jboss.org
Wed Dec 15 07:03:52 EST 2010


    [ https://issues.jboss.org/browse/SOLDER-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12570315#comment-12570315 ] 

Adam Warski commented on SOLDER-10:
-----------------------------------

But then:
* the dependency is marked as compile-scoped - jboss-logging gets included in the deployment - if you are using JBoss (chances are high that you are), and (I haven't checked, but that's usually what happens) you get tons of weird classloader issues because there are duplicate class definitions
* the dependency is marked as provided - deployment works fine on jboss, but you get errors in arquillian tests and on other app servers

So I think ideally the dep should be compile-scoped, but including jboss-logging in the ear or war shouldn't cause any harm (some class-loader hacking inside).

Adam



> To run arquillian tests jboss-logging must be explicitly stated as a dependency of the project
> ----------------------------------------------------------------------------------------------
>
>                 Key: SOLDER-10
>                 URL: https://issues.jboss.org/browse/SOLDER-10
>             Project: Seam Solder
>          Issue Type: Bug
>         Environment: Arquillian Beta4 (Weld embedded 1.1 EE), Weld 1.1.0.Beta1, Weld extensions 1.0.0.Beta1
>            Reporter: Adam Warski
>            Assignee: Dan Allen
>             Fix For: 1.0.0.Beta2
>
>
> Otherwise an exception is thrown (below).
> org.jboss.arquillian.impl.event.FiredEventException: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
> Exception 0 :
> org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.jboss.weld.extensions.log.Producers
> 	at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:188)
> 	at org.jboss.weld.manager.BeanManagerImpl.createAnnotatedType(BeanManagerImpl.java:1112)
> 	at org.jboss.weld.extensions.log.LoggerExtension.addProducer(LoggerExtension.java:50)
> 	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.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
> 	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:94)
> 	at org.jboss.weld.extensions.log.org$jboss$weld$bean-aabc2d7d-578f-45a5-b288-960f52f23ffa$jar-Built-in-Extension-org$jboss$weld$extensions$log$LoggerExtension_$$_WeldProxy.addProducer(org$jboss$weld$bean-aabc2d7d-578f-45a5-b288-960f52f23ffa$jar-Built-in-Extension-org$jboss$weld$extensions$log$LoggerExtension_$$_WeldProxy.java)
> 	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.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
> 	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> 	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
> 	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
> 	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:198)
> 	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
> 	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:200)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:270)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
> 	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:222)
> 	at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:88)
> 	at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:52)
> 	at org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:43)
> 	at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:393)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.MockLifecycle.beginApplication(MockLifecycle.java:87)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.TestContainer.startContainer(TestContainer.java:264)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer.deploy(WeldEEMockContainer.java:81)
> 	at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:62)
> 	at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:50)
> 	at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
> 	at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
> 	at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:96)
> 	at org.jboss.arquillian.testng.Arquillian.arquillianBeforeClass(Arquillian.java:77)
> 	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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)
> 	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:443)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:160)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:90)
> 	at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:183)
> 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:115)
> 	at org.testng.TestRunner.runWorkers(TestRunner.java:908)
> 	at org.testng.TestRunner.privateRun(TestRunner.java:617)
> 	at org.testng.TestRunner.run(TestRunner.java:498)
> 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)
> 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)
> 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:296)
> 	at org.testng.SuiteRunner.run(SuiteRunner.java:201)
> 	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:915)
> 	at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
> 	at org.testng.TestNG.run(TestNG.java:787)
> 	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)
> 	at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:92)
> Caused by: java.lang.NoClassDefFoundError: org/jboss/logging/Logger
> 	at java.lang.Class.getDeclaredMethods0(Native Method)
> 	at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
> 	at java.lang.Class.getDeclaredMethods(Class.java:1791)
> 	at org.jboss.weld.util.reflection.Reflections.getNonPrivateFinalMethodOrType(Reflections.java:173)
> 	at org.jboss.weld.util.reflection.Reflections.isTypeOrAnyMethodFinal(Reflections.java:164)
> 	at org.jboss.weld.util.Proxies.getUnproxyableClassException(Proxies.java:230)
> 	at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:159)
> 	at org.jboss.weld.util.Proxies.getUnproxyableTypesException(Proxies.java:191)
> 	at org.jboss.weld.util.Proxies.isTypesProxyable(Proxies.java:180)
> 	at org.jboss.weld.introspector.jlr.AbstractWeldAnnotated.<init>(AbstractWeldAnnotated.java:179)
> 	at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:147)
> 	at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:142)
> 	at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:52)
> 	at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:40)
> 	at com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:204)
> 	at com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:96)
> 	at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:570)
> 	at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:182)
> 	... 58 more
> Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> 	... 76 more
> 	at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:68)
> 	at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
> 	at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:96)
> 	at org.jboss.arquillian.testng.Arquillian.arquillianBeforeClass(Arquillian.java:77)
> 	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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)
> 	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:443)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:160)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:90)
> 	at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:183)
> 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:115)
> 	at org.testng.TestRunner.runWorkers(TestRunner.java:908)
> 	at org.testng.TestRunner.privateRun(TestRunner.java:617)
> 	at org.testng.TestRunner.run(TestRunner.java:498)
> 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)
> 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)
> 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:296)
> 	at org.testng.SuiteRunner.run(SuiteRunner.java:201)
> 	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:915)
> 	at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
> 	at org.testng.TestNG.run(TestNG.java:787)
> 	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)
> 	at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:92)
> Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
> Exception 0 :
> org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.jboss.weld.extensions.log.Producers
> 	at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:188)
> 	at org.jboss.weld.manager.BeanManagerImpl.createAnnotatedType(BeanManagerImpl.java:1112)
> 	at org.jboss.weld.extensions.log.LoggerExtension.addProducer(LoggerExtension.java:50)
> 	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.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
> 	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:94)
> 	at org.jboss.weld.extensions.log.org$jboss$weld$bean-aabc2d7d-578f-45a5-b288-960f52f23ffa$jar-Built-in-Extension-org$jboss$weld$extensions$log$LoggerExtension_$$_WeldProxy.addProducer(org$jboss$weld$bean-aabc2d7d-578f-45a5-b288-960f52f23ffa$jar-Built-in-Extension-org$jboss$weld$extensions$log$LoggerExtension_$$_WeldProxy.java)
> 	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.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
> 	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> 	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
> 	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
> 	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:198)
> 	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
> 	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:200)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:270)
> 	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
> 	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:222)
> 	at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:88)
> 	at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:52)
> 	at org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:43)
> 	at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:393)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.MockLifecycle.beginApplication(MockLifecycle.java:87)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.TestContainer.startContainer(TestContainer.java:264)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer.deploy(WeldEEMockContainer.java:81)
> 	at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:62)
> 	at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:50)
> 	at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
> 	at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
> 	at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:96)
> 	at org.jboss.arquillian.testng.Arquillian.arquillianBeforeClass(Arquillian.java:77)
> 	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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)
> 	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:443)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:160)
> 	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:90)
> 	at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:183)
> 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:115)
> 	at org.testng.TestRunner.runWorkers(TestRunner.java:908)
> 	at org.testng.TestRunner.privateRun(TestRunner.java:617)
> 	at org.testng.TestRunner.run(TestRunner.java:498)
> 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)
> 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)
> 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:296)
> 	at org.testng.SuiteRunner.run(SuiteRunner.java:201)
> 	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:915)
> 	at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
> 	at org.testng.TestNG.run(TestNG.java:787)
> 	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)
> 	at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:92)
> Caused by: java.lang.NoClassDefFoundError: org/jboss/logging/Logger
> 	at java.lang.Class.getDeclaredMethods0(Native Method)
> 	at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
> 	at java.lang.Class.getDeclaredMethods(Class.java:1791)
> 	at org.jboss.weld.util.reflection.Reflections.getNonPrivateFinalMethodOrType(Reflections.java:173)
> 	at org.jboss.weld.util.reflection.Reflections.isTypeOrAnyMethodFinal(Reflections.java:164)
> 	at org.jboss.weld.util.Proxies.getUnproxyableClassException(Proxies.java:230)
> 	at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:159)
> 	at org.jboss.weld.util.Proxies.getUnproxyableTypesException(Proxies.java:191)
> 	at org.jboss.weld.util.Proxies.isTypesProxyable(Proxies.java:180)
> 	at org.jboss.weld.introspector.jlr.AbstractWeldAnnotated.<init>(AbstractWeldAnnotated.java:179)
> 	at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:147)
> 	at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:142)
> 	at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:52)
> 	at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:40)
> 	at com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:204)
> 	at com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:96)
> 	at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:570)
> 	at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:182)
> 	... 58 more
> Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> 	... 76 more
> 	at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:55)
> 	at org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:43)
> 	at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:393)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.MockLifecycle.beginApplication(MockLifecycle.java:87)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.TestContainer.startContainer(TestContainer.java:264)
> 	at org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer.deploy(WeldEEMockContainer.java:81)
> 	at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:62)
> 	at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:50)
> 	at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
> 	... 25 more

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list