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.
>
>

Reply via email to