I included all the jars and the problem is solved. will look into Maven for future projects.
Thanks a lot. Quintin Beukes-2 wrote: > > 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. >> >> > > -- View this message in context: http://www.nabble.com/OpenEJB-3.1-as-embeddable-container-tp25936338p25939915.html Sent from the OpenEJB User mailing list archive at Nabble.com.
