Sorry, you said you weren't using maven. I wasn't even thinking and giving you dependencies like I remember I use them. Apologies.
If you can, do your future projects with maven, because then the 2nd level dependencies are managed by Maven. You just say openejb-client and openejb-core, and the rest is automatic. Take the OpenEJB distribution, and add ALL the jars in the lib/ directory. There are many dependencies you will end up going through if we try and do it like this. Quintin Beukes On Sat, Oct 17, 2009 at 6:00 PM, faizbash <[email protected]> wrote: > > I included openejb-core-3.1.2.jar and it solved the problem but I am getting > another exception now: > > Attempted to load OpenEJB. OpenEJB has encountered a fatal error and cannot > be started: > OpenEJB encoutnered an unexpected error while attempting to instantiate the > assembler.: > org/apache/geronimo/transaction/manager/XAWork > > javax.naming.NamingException > at > org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:55) > at > org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory. > java:42) > at javax.naming.spi.NamingManager.getInitialContext(NamingManage.java:667) > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:228) > ... > > The exception is caused by: > Context context = new InitialContext(props); > > I dont think I am using the openejb-api.jar for anything. > > > > > Quintin Beukes-2 wrote: >> >> You have to include openejb-core-3.1.2.jar in your test classpath as >> well. Most IDEs have a separate classpath for unit tests. This >> classpath will be appended onto your normal classpath. >> >> The reason for including core is because for the unit tests to run the >> embedded container, you are basically running a complete openejb >> instance inside of the JVM, and for this you need the core of OpenEJB >> included. Further, a LocalInitialContextFactory only makes sense in an >> embedded container or application server of some sort, because it can >> only work for EJB references inside the same JVM, which is why it's >> only included in the core jar. >> >> One more question, are you using the openejb-api jar for one/more of >> the LocalClient/RemoteClient/EjbDeployment annotations? >> >> This should solve your problem. >> >> Quintin Beukes >> >> >> >> On Sat, Oct 17, 2009 at 3:31 PM, faizbash <[email protected]> wrote: >>> >>> Quintin, >>> Thanks for the response. >>> >>> I'm using openejb-api-3.1.1.jar and openejb-client-3.1.1.jar. I am not >>> using >>> Maven. >>> This is what I got after running >>> System.out.println(System.getProperty("java.class.path")); >>> >>> >>> /home/faizbash/NetBeansProjects/CASE_management_sys/CASE_management_sys-ejb/build/jar: >>> /home/faizbash/netbeans-6.7/java2/modules/ext/junit-3.8.2.jar: >>> /home/faizbash/netbeans-6.7/platform10/modules/ext/junit-4.5.jar: >>> /home/faizbash/lib/openejb-3.1.1/lib/openejb-api-3.1.1.jar: >>> /home/faizbash/lib/openejb-3.1.1/lib/openejb-client-3.1.1.jar >>> ... >>> >>> and lots more. >>> >>> Sorry I forgot to include my code in the previous post: >>> >>> �...@before >>> public void bootContainer() throws Exception{ >>> Properties props = new Properties(); >>> props.put(Context.INITIAL_CONTEXT_FACTORY, >>> "org.apache.openejb.client.LocalInitialContextFactory"); >>> Context context = new InitialContext(props); >>> crudService = (CrudService) context.lookup("CrudServiceBean"); >>> } >>> >>> >>> >>> >>> Quintin Beukes-2 wrote: >>>> >>>> Two questions: >>>> >>>> 1. Which jars are you including in your classpath. Can you do a >>>> System.out.println(System.getProperty("java.class.path")); >>>> 2. If you are using maven, can you please paste your <dependencies> >>>> element of the POM. >>>> >>>> Quintin Beukes >>>> >>>> >>>> >>>> On Sat, Oct 17, 2009 at 10:23 AM, faizbash <[email protected]> wrote: >>>>> >>>>> Hello, >>>>> >>>>> I ve been trying to launch OpenEJB as an embeddable container for JUnit >>>>> tests, but I keep getting the following error: >>>>> >>>>> Cannot instantiate class: >>>>> org.apache.openejb.client.LocalInitialContextFactory >>>>> javax.naming.NoInitialContextException >>>>> at >>>>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657) >>>>> at >>>>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) >>>>> at javax.naming.InitialContext.init(InitialContext.java:223) >>>>> at javax.naming.InitialContext.<init>(InitialContext.java:197) >>>>> ... >>>>> >>>>> >>>>> I am using OpenEJB 3.1, and when I checked the library, the >>>>> "LocalInitialContextFactory" class >>>>> is missing but the "RemoteInitialContextFactory" is available and I >>>>> could >>>>> run the tests remotely, >>>>> but not locally. >>>>> >>>>> I ve been searching forums but could find solution to this problem. >>>>> Can anyone please tell me what is the problem? >>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/OpenEJB-3.1-as-embeddable-container-tp25936338p25936338.html >>>>> Sent from the OpenEJB User mailing list archive at Nabble.com. >>>>> >>>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/OpenEJB-3.1-as-embeddable-container-tp25936338p25938290.html >>> Sent from the OpenEJB User mailing list archive at Nabble.com. >>> >>> >> >> > > -- > View this message in context: > http://www.nabble.com/OpenEJB-3.1-as-embeddable-container-tp25936338p25939549.html > Sent from the OpenEJB User mailing list archive at Nabble.com. > >
