I figured out what the solution is, The setUp() of the test cases are missing this line
> properties.setProperty("openejb.deployments.classpath.include", > ".*simple-stateless/target/classes.*"); > I don't know why though ( I don't know how openejb works ). But the interceptors example works and it has that line. I filed an issue in [1] for this. Thanks, Franz [1] https://issues.apache.org/jira/browse/OPENEJB-922 franz see wrote: > > Good day, > > I am getting the same problem. And my system is able to find the > META-INF/ejb-jar.xml as seen in the last part of the surefire reports ( > not unless that's the wrong ejb-jar.xml that I'm supposed to look for ). > > I downloaded openejb-examples-3.0 ( [1] ), extracted the archive, and run > `mvn clean install`, and I am getting NameNotFoundException all over the > place. > > Are there are many steps I need to take to set this up? > > Thanks, > Franz > > [1] > http://www.apache.org/dyn/closer.cgi/openejb/3.0/openejb-examples-3.0.tar. > > Sample Surefire reports from simple-stateless: > > >> <?xml version="1.0" encoding="UTF-8" ?> >> <testsuite errors="2" skipped="0" tests="2" time="1.075" failures="0" >> name="org.superbiz.calculator.CalculatorTest"> >> <properties> >> <property value="3.0" name="openejb.version"/> >> <property value="Java(TM) 2 Runtime Environment, Standard Edition" >> name="java.runtime.name"/> >> <property value="/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/i386" >> name="sun.boot.library.path"/> >> <property value="1.5.0_15-b04" name="java.vm.version"/> >> <property value="Sun Microsystems Inc." name="java.vm.vendor"/> >> <property value="http://java.sun.com/" name="java.vendor.url"/> >> <property value=":" name="path.separator"/> >> <property value="Java HotSpot(TM) Server VM" name="java.vm.name"/> >> <property value="sun.io" name="file.encoding.pkg"/> >> <property >> value="org.apache.openejb.core.security.JaccProvider$Factory" >> name="javax.security.jacc.PolicyConfigurationFactory.provider"/> >> <property value="PH" name="user.country"/> >> <property value="SUN_STANDARD" name="sun.java.launcher"/> >> <property value="unknown" name="sun.os.patch.level"/> >> <property value="Java Virtual Machine Specification" >> name="java.vm.specification.name"/> >> <property >> value="/home/franz/src/openejb-examples-3.0/simple-stateless" >> name="user.dir"/> >> <property value="1.5.0_15-b04" name="java.runtime.version"/> >> <property >> value="/home/franz/src/openejb-examples-3.0/simple-stateless" >> name="derby.system.home"/> >> <property value="sun.awt.X11GraphicsEnvironment" >> name="java.awt.graphicsenv"/> >> <property >> value="/home/franz/src/openejb-examples-3.0/simple-stateless" >> name="basedir"/> >> <property >> value="/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/endorsed" >> name="java.endorsed.dirs"/> >> <property value="i386" name="os.arch"/> >> <property value="/tmp/surefirebooter58049.jar" >> name="surefire.real.class.path"/> >> <property value="/tmp" name="java.io.tmpdir"/> >> <property value=" >> " name="line.separator"/> >> <property value="Sun Microsystems Inc." >> name="java.vm.specification.vendor"/> >> <property value="org.apache.openejb.core.ivm.naming" >> name="java.naming.factory.url.pkgs"/> >> <property value="Linux" name="os.name"/> >> <property value="true" name="derby.storage.fileSyncTransactionLog"/> >> <property value="UTF-8" name="sun.jnu.encoding"/> >> <property >> value="/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/i386/server:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/../lib/i386" >> name="java.library.path"/> >> <property >> value="/home/franz/src/openejb-examples-3.0/simple-stateless/target/test-classes:/home/franz/src/openejb-examples-3.0/simple-stateless/target/classes:/shared/apps/.m2/repository/junit/junit/4.1/junit-4.1.jar:/shared/apps/.m2/repository/org/apache/openejb/javaee-api/5.0-1/javaee-api-5.0-1.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-core/3.0/openejb-core-3.0.jar:/shared/apps/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-loader/3.0/openejb-loader-3.0.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-javaagent/3.0/openejb-javaagent-3.0.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-jee/3.0/openejb-jee-3.0.jar:/shared/apps/.m2/repository/com/sun/xml/bind/jaxb-impl/2.0.5/jaxb-impl-2.0.5.jar:/shared/apps/.m2/repository/commons-cli/commons-cli/1.1/commons-cli-1.1.jar:/shared/apps/.m2/repository/org/apache/activemq/activemq-ra/4.1.1/activemq-ra-4.1.1.jar:/shared/apps/.m2/repository/org/apache/activemq/activemq-core/4.1.1/activemq-core-4.1.1.jar:/shared/apps/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.1/backport-util-concurrent-2.1.jar:/shared/apps/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar:/shared/apps/.m2/repository/org/apache/activemq/activeio-core/3.0.0-incubator/activeio-core-3.0.0-incubator.jar:/shared/apps/.m2/repository/org/apache/openjpa/openjpa/1.0.1/openjpa-1.0.1.jar:/shared/apps/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/shared/apps/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar:/shared/apps/.m2/repository/commons-collections/commons-collections/3.2/commons-collections-3.2.jar:/shared/apps/.m2/repository/org/apache/geronimo/components/geronimo-connector/2.1/geronimo-connector-2.1.jar:/shared/apps/.m2/repository/org/apache/geronimo/components/geronimo-transaction/2.1/geronimo-transaction-2.1.jar:/shared/apps/.m2/repository/org/objectweb/howl/howl/1.0.1-1/howl-1.0.1-1.jar:/shared/apps/.m2/repository/org/apache/geronimo/javamail/geronimo-javamail_1.4_mail/1.2/geronimo-javamail_1.4_mail-1.2.jar:/shared/apps/.m2/repository/org/apache/openejb/xbean-reflect/3.4-r636442/xbean-reflect-3.4-r636442.jar:/shared/apps/.m2/repository/org/apache/openejb/xbean-finder/3.4-r636442/xbean-finder-3.4-r636442.jar:/shared/apps/.m2/repository/org/apache/xbean/xbean-naming/3.3/xbean-naming-3.3.jar:/shared/apps/.m2/repository/asm/asm/2.2.3/asm-2.2.3.jar:/shared/apps/.m2/repository/asm/asm-commons/2.2.3/asm-commons-2.2.3.jar:/shared/apps/.m2/repository/asm/asm-tree/2.2.3/asm-tree-2.2.3.jar:/shared/apps/.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar:/shared/apps/.m2/repository/org/apache/openejb/commons-dbcp-all/1.3/commons-dbcp-all-1.3.jar:/shared/apps/.m2/repository/org/codehaus/swizzle/swizzle-stream/1.0.1/swizzle-stream-1.0.1.jar:/shared/apps/.m2/repository/wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar:" >> name="surefire.test.class.path"/> >> <property value="Java Platform API Specification" >> name="java.specification.name"/> >> <property value="49.0" name="java.class.version"/> >> <property value="HotSpot Server Compiler" >> name="sun.management.compiler"/> >> <property value="2.6.24-19-generic" name="os.version"/> >> <property value="/home/franz" name="user.home"/> >> <property value="Asia/Manila" name="user.timezone"/> >> <property value="sun.print.PSPrinterJob" name="java.awt.printerjob"/> >> <property value="1.5" name="java.specification.version"/> >> <property value="UTF-8" name="file.encoding"/> >> <property value="franz" name="user.name"/> >> <property >> value="/home/franz/src/openejb-examples-3.0/simple-stateless/target/test-classes:/home/franz/src/openejb-examples-3.0/simple-stateless/target/classes:/shared/apps/.m2/repository/junit/junit/4.1/junit-4.1.jar:/shared/apps/.m2/repository/org/apache/openejb/javaee-api/5.0-1/javaee-api-5.0-1.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-core/3.0/openejb-core-3.0.jar:/shared/apps/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-loader/3.0/openejb-loader-3.0.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-javaagent/3.0/openejb-javaagent-3.0.jar:/shared/apps/.m2/repository/org/apache/openejb/openejb-jee/3.0/openejb-jee-3.0.jar:/shared/apps/.m2/repository/com/sun/xml/bind/jaxb-impl/2.0.5/jaxb-impl-2.0.5.jar:/shared/apps/.m2/repository/commons-cli/commons-cli/1.1/commons-cli-1.1.jar:/shared/apps/.m2/repository/org/apache/activemq/activemq-ra/4.1.1/activemq-ra-4.1.1.jar:/shared/apps/.m2/repository/org/apache/activemq/activemq-core/4.1.1/activemq-core-4.1.1.jar:/shared/apps/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.1/backport-util-concurrent-2.1.jar:/shared/apps/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar:/shared/apps/.m2/repository/org/apache/activemq/activeio-core/3.0.0-incubator/activeio-core-3.0.0-incubator.jar:/shared/apps/.m2/repository/org/apache/openjpa/openjpa/1.0.1/openjpa-1.0.1.jar:/shared/apps/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/shared/apps/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar:/shared/apps/.m2/repository/commons-collections/commons-collections/3.2/commons-collections-3.2.jar:/shared/apps/.m2/repository/org/apache/geronimo/components/geronimo-connector/2.1/geronimo-connector-2.1.jar:/shared/apps/.m2/repository/org/apache/geronimo/components/geronimo-transaction/2.1/geronimo-transaction-2.1.jar:/shared/apps/.m2/repository/org/objectweb/howl/howl/1.0.1-1/howl-1.0.1-1.jar:/shared/apps/.m2/repository/org/apache/geronimo/javamail/geronimo-javamail_1.4_mail/1.2/geronimo-javamail_1.4_mail-1.2.jar:/shared/apps/.m2/repository/org/apache/openejb/xbean-reflect/3.4-r636442/xbean-reflect-3.4-r636442.jar:/shared/apps/.m2/repository/org/apache/openejb/xbean-finder/3.4-r636442/xbean-finder-3.4-r636442.jar:/shared/apps/.m2/repository/org/apache/xbean/xbean-naming/3.3/xbean-naming-3.3.jar:/shared/apps/.m2/repository/asm/asm/2.2.3/asm-2.2.3.jar:/shared/apps/.m2/repository/asm/asm-commons/2.2.3/asm-commons-2.2.3.jar:/shared/apps/.m2/repository/asm/asm-tree/2.2.3/asm-tree-2.2.3.jar:/shared/apps/.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar:/shared/apps/.m2/repository/org/apache/openejb/commons-dbcp-all/1.3/commons-dbcp-all-1.3.jar:/shared/apps/.m2/repository/org/codehaus/swizzle/swizzle-stream/1.0.1/swizzle-stream-1.0.1.jar:/shared/apps/.m2/repository/wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar:" >> name="java.class.path"/> >> <property value="log4j" name="openjpa.Log"/> >> <property value="true" name="noBanner"/> >> <property value="1.0" name="java.vm.specification.version"/> >> <property value="32" name="sun.arch.data.model"/> >> <property value="/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre" >> name="java.home"/> >> <property value="Sun Microsystems Inc." >> name="java.specification.vendor"/> >> <property value="en" name="user.language"/> >> <property value="mixed mode" name="java.vm.info"/> >> <property value="1.5.0_15" name="java.version"/> >> <property >> value="org.apache.openejb.core.security.jacc.BasicJaccProvider" >> name="org.apache.openejb.core.security.JaccProvider"/> >> <property value="/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/ext" >> name="java.ext.dirs"/> >> <property >> value="/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/rt.jar:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/i18n.jar:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/jsse.jar:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/jce.jar:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/lib/charsets.jar:/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/classes" >> name="sun.boot.class.path"/> >> <property value="Sun Microsystems Inc." name="java.vendor"/> >> <property >> value="jar:file:/shared/apps/.m2/repository/org/apache/openejb/openejb-core/3.0/openejb-core-3.0.jar!/login.config" >> name="java.security.auth.login.config"/> >> <property value="/shared/apps/.m2/repository" >> name="localRepository"/> >> <property value="/" name="file.separator"/> >> <property value="http://java.sun.com/cgi-bin/bugreport.cgi" >> name="java.vendor.url.bug"/> >> <property value="little" name="sun.cpu.endian"/> >> <property value="UnicodeLittle" name="sun.io.unicode.encoding"/> >> <property value="gnome" name="sun.desktop"/> >> <property value="" name="sun.cpu.isalist"/> >> </properties> >> <testcase classname="org.superbiz.calculator.CalculatorTest" >> time="1.039" name="testCalculatorViaRemoteInterface"> >> <error type="javax.naming.NameNotFoundException" message="Name >> "CalculatorImplRemote" not >> found.">javax.naming.NameNotFoundException: Name >> "CalculatorImplRemote" not found. >> at >> org.apache.openejb.core.ivm.naming.IvmContext.federate(IvmContext.java:172) >> at >> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:129) >> at javax.naming.InitialContext.lookup(InitialContext.java:351) >> at >> org.superbiz.calculator.CalculatorTest.testCalculatorViaRemoteInterface(CalculatorTest.java:55) >> 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:585) >> at junit.framework.TestCase.runTest(TestCase.java:164) >> at junit.framework.TestCase.runBare(TestCase.java:130) >> at junit.framework.TestResult$1.protect(TestResult.java:110) >> at junit.framework.TestResult.runProtected(TestResult.java:128) >> at junit.framework.TestResult.run(TestResult.java:113) >> at junit.framework.TestCase.run(TestCase.java:120) >> at junit.framework.TestSuite.runTest(TestSuite.java:228) >> at junit.framework.TestSuite.run(TestSuite.java:223) >> at >> org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35) >> 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:585) >> at >> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) >> at >> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) >> </error> >> <system-out>Apache OpenEJB 3.0 build: 20080408-04:13 >> http://openejb.apache.org/ >> INFO - openejb.home = >> /home/franz/src/openejb-examples-3.0/simple-stateless >> INFO - openejb.base = >> /home/franz/src/openejb-examples-3.0/simple-stateless >> INFO - Configuring Service(id=Default Security Service, >> type=SecurityService, provider-id=Default Security Service) >> INFO - Configuring Service(id=Default Transaction Manager, >> type=TransactionManager, provider-id=Default Transaction Manager) >> INFO - Configuring Service(id=Default JDK 1.3 ProxyFactory, >> type=ProxyFactory, provider-id=Default JDK 1.3 ProxyFactory) >> app = >> jar:file:/shared/apps/.m2/repository/org/apache/openejb/openejb-core/3.0/openejb-core-3.0.jar!/META-INF/ejb-jar.xml >> </system-out> >> </testcase> >> <testcase classname="org.superbiz.calculator.CalculatorTest" >> time="0.001" name="testCalculatorViaLocalInterface"> >> <error type="javax.naming.NameNotFoundException" message="Name >> "CalculatorImplLocal" not >> found.">javax.naming.NameNotFoundException: Name >> "CalculatorImplLocal" not found. >> at >> org.apache.openejb.core.ivm.naming.IvmContext.federate(IvmContext.java:172) >> at >> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:129) >> at javax.naming.InitialContext.lookup(InitialContext.java:351) >> at >> org.superbiz.calculator.CalculatorTest.testCalculatorViaLocalInterface(CalculatorTest.java:72) >> 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:585) >> at junit.framework.TestCase.runTest(TestCase.java:164) >> at junit.framework.TestCase.runBare(TestCase.java:130) >> at junit.framework.TestResult$1.protect(TestResult.java:110) >> at junit.framework.TestResult.runProtected(TestResult.java:128) >> at junit.framework.TestResult.run(TestResult.java:113) >> at junit.framework.TestCase.run(TestCase.java:120) >> at junit.framework.TestSuite.runTest(TestSuite.java:228) >> at junit.framework.TestSuite.run(TestSuite.java:223) >> at >> org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35) >> 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:585) >> at >> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) >> at >> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) >> </error> >> <system-out>app = >> jar:file:/shared/apps/.m2/repository/org/apache/openejb/openejb-core/3.0/openejb-core-3.0.jar!/META-INF/ejb-jar.xml >> </system-out> >> </testcase> >> </testsuite> >> >> > > > > David Blevins wrote: >> >> >> On Oct 9, 2008, at 4:32 AM, Bernhard Humm wrote: >> >>> init: >>> deps-jar: >>> compile: >>> compile-test: >>> Testsuite: org.superbiz.calculator.CalculatorTest >>> Apache OpenEJB 3.0 build: 20080408-04:13 >>> http://openejb.apache.org/ >>> INFO - openejb.home = C:\temp\NetBeans\OpenEJBTest >>> INFO - openejb.base = C:\temp\NetBeans\OpenEJBTest >>> INFO - Configuring Service(id=Default Security Service, >>> type=SecurityService, provider-id=Default Security Service) >>> INFO - Configuring Service(id=Default Transaction Manager, >>> type=TransactionManager, provider-id=Default Transaction Manager) >>> INFO - Configuring Service(id=Default JDK 1.3 ProxyFactory, >>> type=ProxyFactory, provider-id=Default JDK 1.3 ProxyFactory) >>> Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 5,234 sec >> >> It doesn't look like the app is getting discovered with the way it's >> setup in NetBeans. OpenEJB will search for directories or jars >> containing a META-INF/ejb-jar.xml file and load those directories and >> jars as individual ejb jars. We have NetBeans users, so I know it's >> capable of putting both the classes and the META-INF/ejb-jar.xml in >> the same directory so that OpenEJB can discover them together as an >> app. We just need to figure out what might be happening with this >> particular setup. >> >> Run this in your test case and see if your classpath is setup right. >> There should be a META-INF/ejb-jar.xml file in any directories that >> contain ejb classes that should be deployed by OpenEJB. >> >> Enumeration<URL> ejbJars = >> this.getClass().getClassLoader().getResources("META-INF/ejb-jar.xml"); >> while (ejbJars.hasMoreElements()) { >> URL url = ejbJars.nextElement(); >> System.out.println("app = " + url); >> } >> >> >> -David >> >> >> >> >> > > -- View this message in context: http://www.nabble.com/OpenEJB-with-JUnit-from-NetBeans%3A-NameNotFoundException-tp19874503p19910912.html Sent from the OpenEJB User mailing list archive at Nabble.com.