This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Not sure if that's a NB6.8 or GFv3 bug (or even my mistake), but I can't manage to run the most trivial, helloworld-level JUnit test for EJB 3.1 Lite. Steps: 0) Standard setup of NB 6.8 and the bundled Glassfish V3, plus separate setup of GFv3 Web Profile 1) Create a new Web project on the GFv3 Web Profile domain 2) Create a trivial Singleton Bean, without any interface 3) Create a JUnit(4) test for that EJB, with the "Test for existing class" wizard which generates all code to boot the embedded container and look up the EJB. Customize the test to call my one-liner EJB method. 4) Test project; fails like the stack trace below: ---------- 10/01/2010 17:37:05 com.sun.enterprise.v3.server.AppServerStartup run INFO: GlassFish v3 (74.2) startup time : Embedded(1310ms) startup services(390ms) total(1700ms) 10/01/2010 17:37:05 org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run INFO: JMXStartupService: JMXConnector system is disabled, skipping. 10/01/2010 17:37:05 com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate 10/01/2010 17:37:06 AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started 10/01/2010 17:37:07 org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer INFO: [EJBContainerProviderImpl] Cleaning up on failure ... 10/01/2010 17:37:07 org.glassfish.admin.mbeanserver.JMXStartupService shutdown INFO: JMXStartupService and JMXConnectors have been shut down. 10/01/2010 17:37:07 com.sun.enterprise.v3.server.AppServerStartup stop INFO: Shutdown procedure finished 10/01/2010 17:37:07 AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting 10/01/2010 17:37:07 org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer SEVERE: ejb.embedded.exception_instantiating java.lang.RuntimeException: no container associated with application of type : ear at com.sun.enterprise.glassfish.web.WarHandler.handles(WarHandler.java:89) at com.sun.enterprise.v3.server.ApplicationLifecycle.getArchiveHandler(ApplicationLifecycle.java:174) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:168) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144) at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128) at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at jm77.NumeroBeanTest.initContainer(NumeroBeanTest.java:13) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) The following providers: org.glassfish.ejb.embedded.EJBContainerProviderImpl Returned null from createEJBContainer call. ) ---------- I tried also to create a EJB Project, containing only the same EJB and unit test, and wired to the standard (full JavaEE 6) GFv3 domain. Now it fails with a different exception - probably more useful: ---------- 10/01/2010 17:40:45 com.sun.enterprise.v3.server.AppServerStartup run INFO: GlassFish v3 (74.2) startup time : Embedded(1732ms) startup services(421ms) total(2153ms) 10/01/2010 17:40:45 org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run INFO: JMXStartupService: JMXConnector system is disabled, skipping. 10/01/2010 17:40:45 com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate 10/01/2010 17:40:45 AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started 10/01/2010 17:40:47 com.sun.enterprise.deployment.archivist.Archivist readAnnotations WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: build/classes/jm77/NumeroBean (wrong name: jm77/NumeroBean) 10/01/2010 17:40:47 org.glassfish.api.ActionReport failure SEVERE: Exception while deploying the app java.lang.IllegalArgumentException: Invalid ejb jar [AloEJB.jar]: it contains zero ejb. Note: 1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean. 2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar. 3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly. at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:72) at com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:124) at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:722) at com.sun.enterprise.deployment.Application.visit(Application.java:1744) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:774) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:253) at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:222) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:145) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:78) at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:612) at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:554) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:262) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:214) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144) at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128) at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at jm77.NumeroBeanTest.initContainer(NumeroBeanTest.java:13) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) 10/01/2010 17:40:47 org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer INFO: [EJBContainerProviderImpl] Cleaning up on failure ... 10/01/2010 17:40:47 org.glassfish.admin.mbeanserver.JMXStartupService shutdown INFO: JMXStartupService and JMXConnectors have been shut down. 10/01/2010 17:40:47 com.sun.enterprise.v3.server.AppServerStartup stop INFO: Shutdown procedure finished 10/01/2010 17:40:47 AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting 10/01/2010 17:40:47 org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer SEVERE: ejb.embedded.exception_instantiating javax.ejb.EJBException: Failed to deploy EJB modules - see log for details at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:135) at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at jm77.NumeroBeanTest.initContainer(NumeroBeanTest.java:13) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) stateless at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) The following providers: org.glassfish.ejb.embedded.EJBContainerProviderImpl Returned null from createEJBContainer call. ) ---------- Tried other attempts, like a more standard EJB (common stateless bean with local interface), to no avail. Running NB and GF on top of JDK 6u18-b05, I doubt that's the problem because 6u18 is (supposedly) very close to shipping, but I can try another JDK or something else you think could help.
Im also having the same problem, and im freaking out. I cannot find any useful information in the internet. Even with the code generated for the tests (Tools->Create JUnit tests) it throws that EJBException described. Im using: Netbeans 6.8 JUnit 4 Glassfish v3 Windows 7 Did you find any fix? (In reply to comment #0) > Not sure if that's a NB6.8 or GFv3 bug (or even my mistake), but I can't manage > to run the most trivial, helloworld-level JUnit test for EJB 3.1 Lite. > > Steps: > 0) Standard setup of NB 6.8 and the bundled Glassfish V3, plus separate setup > of GFv3 Web Profile > 1) Create a new Web project on the GFv3 Web Profile domain > 2) Create a trivial Singleton Bean, without any interface > 3) Create a JUnit(4) test for that EJB, with the "Test for existing class" > wizard which generates all code to boot the embedded container and look up the > EJB. Customize the test to call my one-liner EJB method. > 4) Test project; fails like the stack trace below: > > ---------- > 10/01/2010 17:37:05 com.sun.enterprise.v3.server.AppServerStartup run > INFO: GlassFish v3 (74.2) startup time : Embedded(1310ms) startup > services(390ms) total(1700ms) > 10/01/2010 17:37:05 > org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread > run > INFO: JMXStartupService: JMXConnector system is disabled, skipping. > 10/01/2010 17:37:05 > com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates > INFO: Using > com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the > delegate > 10/01/2010 17:37:06 AppServerStartup run > INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started > 10/01/2010 17:37:07 org.glassfish.ejb.embedded.EJBContainerProviderImpl > createEJBContainer > INFO: [EJBContainerProviderImpl] Cleaning up on failure ... > 10/01/2010 17:37:07 org.glassfish.admin.mbeanserver.JMXStartupService shutdown > INFO: JMXStartupService and JMXConnectors have been shut down. > 10/01/2010 17:37:07 com.sun.enterprise.v3.server.AppServerStartup stop > INFO: Shutdown procedure finished > 10/01/2010 17:37:07 AppServerStartup run > INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting > 10/01/2010 17:37:07 org.glassfish.ejb.embedded.EJBContainerProviderImpl > createEJBContainer > SEVERE: ejb.embedded.exception_instantiating > java.lang.RuntimeException: no container associated with application of type : > ear > at > com.sun.enterprise.glassfish.web.WarHandler.handles(WarHandler.java:89) > at > com.sun.enterprise.v3.server.ApplicationLifecycle.getArchiveHandler(ApplicationLifecycle.java:174) > at > org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:168) > at > org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144) > at > org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128) > at > org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) > at > javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) > at > javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) > at jm77.NumeroBeanTest.initContainer(NumeroBeanTest.java:13) > 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) > The following providers: > org.glassfish.ejb.embedded.EJBContainerProviderImpl > Returned null from createEJBContainer call. > ) > ---------- > > I tried also to create a EJB Project, containing only the same EJB and unit > test, and wired to the standard (full JavaEE 6) GFv3 domain. Now it fails with > a different exception - probably more useful: > > ---------- > 10/01/2010 17:40:45 com.sun.enterprise.v3.server.AppServerStartup run > INFO: GlassFish v3 (74.2) startup time : Embedded(1732ms) startup > services(421ms) total(2153ms) > 10/01/2010 17:40:45 > org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread > run > INFO: JMXStartupService: JMXConnector system is disabled, skipping. > 10/01/2010 17:40:45 > com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates > INFO: Using > com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the > delegate > 10/01/2010 17:40:45 AppServerStartup run > INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started > 10/01/2010 17:40:47 com.sun.enterprise.deployment.archivist.Archivist > readAnnotations > WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: > build/classes/jm77/NumeroBean (wrong name: jm77/NumeroBean) > 10/01/2010 17:40:47 org.glassfish.api.ActionReport failure > SEVERE: Exception while deploying the app > java.lang.IllegalArgumentException: Invalid ejb jar [AloEJB.jar]: it contains > zero ejb. > Note: > 1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or > message-driven bean. > 2. EJB3+ entity beans (@Entity) are POJOs and please package them as library > jar. > 3. If the jar file contains valid EJBs which are annotated with EJB component > level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please > check server.log to see whether the annotations were processed properly. > at > com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:72) > at > com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:124) > at > com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:722) > at > com.sun.enterprise.deployment.Application.visit(Application.java:1744) > at > com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:774) > at > com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:253) > at > com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:222) > at > org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:145) > at > org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:78) > at > com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:612) > at > com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:554) > at > com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:262) > at > org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:214) > at > org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144) > at > org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128) > at > org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) > at > javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) > at > javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) > at jm77.NumeroBeanTest.initContainer(NumeroBeanTest.java:13) > 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) > 10/01/2010 17:40:47 org.glassfish.ejb.embedded.EJBContainerProviderImpl > createEJBContainer > INFO: [EJBContainerProviderImpl] Cleaning up on failure ... > 10/01/2010 17:40:47 org.glassfish.admin.mbeanserver.JMXStartupService shutdown > INFO: JMXStartupService and JMXConnectors have been shut down. > 10/01/2010 17:40:47 com.sun.enterprise.v3.server.AppServerStartup stop > INFO: Shutdown procedure finished > 10/01/2010 17:40:47 AppServerStartup run > INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting > 10/01/2010 17:40:47 org.glassfish.ejb.embedded.EJBContainerProviderImpl > createEJBContainer > SEVERE: ejb.embedded.exception_instantiating > javax.ejb.EJBException: Failed to deploy EJB modules - see log for details > at > org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:135) > at > org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) > at > javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) > at > javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) > at jm77.NumeroBeanTest.initContainer(NumeroBeanTest.java:13) > 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:515) > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1031) > stateless > at > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:888) > The following providers: > org.glassfish.ejb.embedded.EJBContainerProviderImpl > Returned null from createEJBContainer call. > ) > ---------- > > Tried other attempts, like a more standard EJB (common stateless bean with > local interface), to no avail. > > Running NB and GF on top of JDK 6u18-b05, I doubt that's the problem because > 6u18 is (supposedly) very close to shipping, but I can try another JDK or > something else you think could help.
Tried your scenarios (Web project and EJB module)with NetBeans 6.9 RC2 with bundled Glassfish 3.0.1 b20, JDK 1.6.0_14. The tests were generated correctly and executed without any problem. Could you please try the NB 6.9 with bundled GF. It would be very useful if you attach the project you can reproduce this issue on.
NetBeans 6.9 with GF 3.0.1, JDK 1.6.0_20. I cannot make JUnit to work either with Ant nor Maven project. For ant I used Java EE pattern example "EmbeddableGlassfishEJB31Test". Junit test fails with similar as described above log: init: deps-module-jar: deps-ear-jar: deps-jar: library-inclusion-in-archive: library-inclusion-in-manifest: compile: compile-test-single: WARNING: multiple versions of ant detected in path for junit jar:file:/C:/Program%20Files/NetBeans%206.9/java/ant/lib/ant.jar!/org/apache/tools/ant/Project.class and jar:file:/C:/Program%20Files/glassfish-3.0.1/glassfish/modules/ant.jar!/org/apache/tools/ant/Project.class Testsuite: com.abien.business.hello.HelloWorldTest 9-Jul-2010 11:47:24 AM com.sun.enterprise.v3.server.AppServerStartup run INFO: GlassFish Server Open Source Edition 3.0.1 (22) startup time : Embedded(1267ms) startup services(313ms) total(1580ms) 9-Jul-2010 11:47:24 AM org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run INFO: JMXStartupService: JMXConnector system is disabled, skipping. 9-Jul-2010 11:47:24 AM com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate 9-Jul-2010 11:47:25 AM AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started 9-Jul-2010 11:47:26 AM com.sun.enterprise.deployment.archivist.Archivist readAnnotations WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: build/web/WEB-INF/classes/com/abien/presentation/hello/HelloController (wrong name: com/abien/presentation/hello/HelloController) 9-Jul-2010 11:47:26 AM org.glassfish.api.ActionReport failure SEVERE: Exception while deploying the app java.lang.IllegalArgumentException: Invalid ejb jar [EmbeddableGlassfishEJB31Test.jar]: it contains zero ejb. Note: 1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean. 2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar. 3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly. at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:72) at com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:124) at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:722) at com.sun.enterprise.deployment.Application.visit(Application.java:1744) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:774) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:253) at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:222) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:152) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:79) at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:612) at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:554) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:262) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:214) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144) at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128) at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at com.abien.business.hello.HelloWorldTest.hello(HelloWorldTest.java:37) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) 9-Jul-2010 11:47:26 AM org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer INFO: [EJBContainerProviderImpl] Cleaning up on failure ... 9-Jul-2010 11:47:26 AM org.glassfish.admin.mbeanserver.JMXStartupService shutdown INFO: JMXStartupService and JMXConnectors have been shut down. 9-Jul-2010 11:47:26 AM com.sun.enterprise.v3.server.AppServerStartup stop INFO: Shutdown procedure finished 9-Jul-2010 11:47:26 AM AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting 9-Jul-2010 11:47:26 AM org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer SEVERE: ejb.embedded.exception_instantiating javax.ejb.EJBException: Failed to deploy EJB modules - see log for details at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:135) at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at com.abien.business.hello.HelloWorldTest.hello(HelloWorldTest.java:37) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 3.364 sec ------------- Standard Error ----------------- 9-Jul-2010 11:47:24 AM com.sun.enterprise.v3.server.AppServerStartup run INFO: GlassFish Server Open Source Edition 3.0.1 (22) startup time : Embedded(1267ms) startup services(313ms) total(1580ms) 9-Jul-2010 11:47:24 AM org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run INFO: JMXStartupService: JMXConnector system is disabled, skipping. 9-Jul-2010 11:47:24 AM com.sun.enterprise.transaction.JavaEETransactionManagerSimplified initDelegates INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate 9-Jul-2010 11:47:25 AM AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started 9-Jul-2010 11:47:26 AM com.sun.enterprise.deployment.archivist.Archivist readAnnotations WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: build/web/WEB-INF/classes/com/abien/presentation/hello/HelloController (wrong name: com/abien/presentation/hello/HelloController) 9-Jul-2010 11:47:26 AM org.glassfish.api.ActionReport failure SEVERE: Exception while deploying the app java.lang.IllegalArgumentException: Invalid ejb jar [EmbeddableGlassfishEJB31Test.jar]: it contains zero ejb. Note: 1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean. 2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar. 3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly. at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:72) at com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:124) at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:722) at com.sun.enterprise.deployment.Application.visit(Application.java:1744) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:774) at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:253) at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:222) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:152) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:79) at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:612) at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:554) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:262) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:214) at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144) at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128) at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at com.abien.business.hello.HelloWorldTest.hello(HelloWorldTest.java:37) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) 9-Jul-2010 11:47:26 AM org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer INFO: [EJBContainerProviderImpl] Cleaning up on failure ... 9-Jul-2010 11:47:26 AM org.glassfish.admin.mbeanserver.JMXStartupService shutdown INFO: JMXStartupService and JMXConnectors have been shut down. 9-Jul-2010 11:47:26 AM com.sun.enterprise.v3.server.AppServerStartup stop INFO: Shutdown procedure finished 9-Jul-2010 11:47:26 AM AppServerStartup run INFO: [Thread[GlassFish Kernel Main Thread,5,main]] exiting 9-Jul-2010 11:47:26 AM org.glassfish.ejb.embedded.EJBContainerProviderImpl createEJBContainer SEVERE: ejb.embedded.exception_instantiating javax.ejb.EJBException: Failed to deploy EJB modules - see log for details at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:135) at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at com.abien.business.hello.HelloWorldTest.hello(HelloWorldTest.java:37) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) ------------- ---------------- --------------- Testcase: hello(com.abien.business.hello.HelloWorldTest): Caused an ERROR No EJBContainer provider available The following providers: org.glassfish.ejb.embedded.EJBContainerProviderImpl Returned null from createEJBContainer call. javax.ejb.EJBException: No EJBContainer provider available The following providers: org.glassfish.ejb.embedded.EJBContainerProviderImpl Returned null from createEJBContainer call. at javax.ejb.embeddable.EJBContainer.reportError(EJBContainer.java:186) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:121) at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78) at com.abien.business.hello.HelloWorldTest.hello(HelloWorldTest.java:37) Test com.abien.business.hello.HelloWorldTest FAILED C:\Projects\Java EE patterns\EmbeddableGlassfishEJB31Test\nbproject\build-impl.xml:902: Some tests failed; see details above. BUILD FAILED (total time: 5 seconds)
As for Maven, it fails with message "Absent Code attribute in method that is not native or abstract in class file javax/ejb/embeddable/EJBContainer". Bean Source: @Stateless public class NewSessionBean { public int add(int a, int b) { return a+b; } } JUnit Test method: public void testAdd() throws Exception { System.out.println("add"); int a = 2; int b = 3; try { NewSessionBean instance = (NewSessionBean)javax.ejb.embeddable.EJBContainer.createEJBContainer().getContext().lookup("java:global/classes/NewSessionBean"); int expResult = a+b; int result = instance.add(a, b); assertEquals(expResult, result); } catch(Exception e) { e.printStackTrace(); throw e; } } Log: Testsuite: ejb.NewSessionBeanTest add Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.047 sec ------------- Standard Output --------------- add ------------- ---------------- --------------- Testcase: testAdd(ejb.NewSessionBeanTest): Caused an ERROR Absent Code attribute in method that is not native or abstract in class file javax/ejb/embeddable/EJBContainer java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/ejb/embeddable/EJBContainer at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 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) at ejb.NewSessionBeanTest.testAdd(NewSessionBeanTest.java:38) Test ejb.NewSessionBeanTest FAILED test: Deleting: C:\DOCUME~1\sergei\LOCALS~1\Temp\TEST-ejb.NewSessionBeanTest.xml BUILD SUCCESSFUL (total time: 1 second)
Could you please attach the project.
Created attachment 100736 [details] Example of Ant project with EJB JUnit test Attached example of Ant project with EJB JUnit test (Java EE Patterns / EmbeddableGlassfishEJB31Test)
Created attachment 100737 [details] Example of Maven project with EJB JUnit test Attached example of Maven project with EJB JUnit test
Probably related to GlassFish bug https://glassfish.dev.java.net/issues/show_bug.cgi?id=12278 .
I also ran into this problem: NetBeans IDE 6.9.1 (Build 201007282301) GlassFish Server Open Source Edition 3.0.1 (build 22) Java: 1.6.0_11; Java HotSpot(TM) Client VM 11.0-b16 I noticed this line in particular, which seems to indicate that it is not properly recognizing the root of the class hierarchy to be build/web/WEB-INF/classes (instead it seems to think it is the . -- the project directory): java.lang.NoClassDefFoundError: build/web/WEB-INF/classes/com/abien/presentation/hello/HelloController (wrong name: com/abien/presentation/hello/HelloController) I was able to somewhat work around the problem by pointing to the .war file rather than the build directory in my test: HashMap<String, Object> props = new HashMap<String, Object>(); File[] ejbModules = new File[1]; ejbModules[0] = new File("dist/MyWebApp.war"); props.put(EJBContainer.MODULES, ejbModules); EJBContainer ejbContainer = javax.ejb.embeddable.EJBContainer.createEJBContainer(props); Context context = ejbContainer.getContext(); I have to do a "dist" before I can test the functionality, but at least I seem to be able to test now.
Hi try it again with some of newer bundled GlassFishes. I.e. I used GF v3.1-beta40 for both projects and the tests worked and passed. BTW don't forget change in the maven project the "glassfish.embedded-static-shell.jar" property to the path with new b40 GF. Closing as worksforme since I was able to run tests successfully on both (ant and maven) projects.