Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. ARQ-328

EJB-API dependencies in Weld EE container should be optional (causes failures on boot)

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Done
    • Icon: Major Major
    • weld_1.0.0.CR9
    • 1.0.0.Alpha4
    • Weld Containers
    • None

      EJB APIs should be optional. If users do not supply the API jars, then EJB services should not attempt to load. This would enable easier configuration for those users who do not need EJB services, who only want Weld in EE-like container.

      Currently the ejb-api maven dependency is required.

      java.lang.NoClassDefFoundError: javax/ejb/Stateless
      at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.Ejbs.findEjbs(Ejbs.java:38)
      at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.Ejbs.createEjbDescriptors(Ejbs.java:25)
      at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.BeanDeploymentArchiveImpl.<init>(BeanDeploymentArchiveImpl.java:81)
      at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.TestContainer.<init>(TestContainer.java:215)
      at org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer.deploy(WeldEEMockContainer.java:76)
      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.junit.Arquillian$2.evaluate(Arquillian.java:162)
      at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:186)
      at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:297)
      at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:182)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:127)
      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:193)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
      at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:64)
      Caused by: java.lang.ClassNotFoundException: javax.ejb.Stateless
      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

            Unassigned Unassigned
            lincolnthree Lincoln Baxter III (Inactive)
            Votes:
            4 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: