Weld Embedded Error
kenfinni May 23, 2010 5:18 AMHi,
I'm getting an error when using the Weld Embedded container for Arquillian. I get this error when running tests within the Seam i18n module or when I try to build Arquillian from source.
The error is:
-------------------------------------------------------------------------------
Test set: org.jboss.arquillian.weld.WeldEmbeddedIntegrationTestCase
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.29 sec <<< FAILURE!
org.jboss.arquillian.weld.WeldEmbeddedIntegrationTestCase Time elapsed: 0 sec <<< ERROR!
java.lang.NoClassDefFoundError: ch/qos/cal10n/IMessageConveyor
at org.jboss.weld.logging.MessageConveyorFactory.load(MessageConveyorFactory.java:43)
at org.jboss.weld.logging.MessageConveyorFactory.messageConveyerFactory(MessageConveyorFactory.java:50)
at org.jboss.weld.logging.LoggerFactory.<init>(LoggerFactory.java:41)
at org.jboss.weld.logging.LoggerFactory.loggerFactory(LoggerFactory.java:59)
at org.jboss.weld.bootstrap.WeldBootstrap.<clinit>(WeldBootstrap.java:111)
at org.jboss.arquillian.weld.WeldSEContainer.deploy(WeldSEContainer.java:112)
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:78)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:151)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:170)
at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:272)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:166)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:118)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
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.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: java.lang.ClassNotFoundException: ch.qos.cal10n.IMessageConveyor
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)
... 28 more
Adding the following dependency to the weld-embedded pom resolves it, but did not know if that was the best or only way to resolve it?
<dependency>
<groupId>ch.qos.cal10n</groupId>
<artifactId>cal10n-api</artifactId>
<version>0.7.2</version>
</dependency>
Thanks
Ken