*
The moose likes Websphere and the fly likes Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Products » Websphere
Bookmark "Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb..." Watch "Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb..." New topic
Author

Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb...

Horaci Macias
Ranch Hand

Joined: Nov 08, 2001
Posts: 74
I'm trying to test if my DataSource is well configured, and I'm running this program:
**** CODE BEGIN *****
<pre>import javax.naming.*;
import java.util.*;
public class DSClient {
static String url = "iiop://xxx.xxx.xxx.xxx:900";
public static Context getInitialContext() throws NamingException {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.ejs.ns.jndi.CNInitialContextFactory");
p.put(Context.PROVIDER_URL, url);
return new InitialContext(p);
}
public static void main(String[] args) {
Context ctx = null;
javax.sql.DataSource ds = null;
java.sql.Connection conn = null;
try {
ctx = getInitialContext();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("end getInitialContext");
if (ctx != null) {
System.out.println(ctx.toString());
}
try {
ds = (javax.sql.DataSource) ctx.lookup("jdbc/OracleDS");
System.out.println("DataSource Created!");
System.out.println(ds.toString());
} catch (Exception e) {
e.printStackTrace();
}
try {
conn = ds.getConnection(user, password);
System.out.println("Connection created");
System.out.println("conn = " + conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}</pre>
***** CODE END *****
I'm entering the following line to the command line, under solaris:
***** COMMAND LINE BEGIN *****
<pre>/opt/WebSphere/AppServer/java/jre/bin/java -cp /opt/WebSphere/AppServer/lib/ejs.jar:/opt/WebSphere/AppServer/lib/ujc.jar:./imports.jar:/opt/WebSphere/AppServer/java/jre/lib/classes.zip:./Deployedjetaced_0.5b.jar:. DSClient</pre>
***** COMMAND LINE END *****
where imports.jar are some classes my EJB need to import and Deployedjetaced_0.5b.jar are my EJB deployed.
I get the following exception:
***** EXCEPTION BEGIN *****
<pre>Exception in thread "P=22987:O=0:CT" java.lang.NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryObjectImpl
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass0(Compiled Code)
at java.lang.ClassLoader.defineClass(Compiled Code)
at java.security.SecureClassLoader.defineClass(Compiled Code)
at java.net.URLClassLoader.defineClass(Compiled Code)
at java.net.URLClassLoader.access$1(Compiled Code)
at java.net.URLClassLoader$1.run(Compiled Code)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessController.doPrivileged(Compiled Code)
at java.net.URLClassLoader.findClass(Compiled Code)
at java.lang.ClassLoader.loadClass(Compiled Code)
at sun.misc.Launcher$AppClassLoader.loadClass(Compiled Code)
at java.lang.ClassLoader.loadClass(Compiled Code)
at java.lang.ClassLoader.loadClassInternal(Compiled Code)
at com.ibm.ejs.sm.beans.DataSourceBean$Factory.getObjectInstance(DataSourceBean.java:963)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:310)
at com.ibm.ejs.ns.jndi.CNContextImpl.isReference(CNContextImpl.java:1303)
at com.ibm.ejs.ns.jndi.CNContextImpl.doLookup(CNContextImpl.java:801)
at com.ibm.ejs.ns.jndi.CNContextImpl.lookup(CNContextImpl.java:585)
at javax.naming.InitialContext.lookup(InitialContext.java:349)
at DSClient.main(DSClient.java:41)</pre>
***** EXCEPTION END *****
I have one datasource called "OracleDS" and I think it's well configured. If someone finds a mistake in the code or has some code to test DataSources please tell me so.
Thank you
Horaci Macias

[This message has been edited by Horaci Macias (edited November 13, 2001).]
Jim Baiter
Ranch Hand

Joined: Jan 05, 2001
Posts: 532
Looks like you need the jar file containing the com/ibm/ejs/sm/beans/RepositoryObjectImpl class in your client's classpath.
Horaci Macias
Ranch Hand

Joined: Nov 08, 2001
Posts: 74
It really looks like this, but I thought it had all jar necesary files in client's classpath, which are:
%WAS_HOME%\lib\ejs.jar
%WAS_HOME%\lib\ujc.jar
%JAVA_HOME%\lib\classes.zip;
do you know which jar do I need apart from the above �?
Thank you
Horaci Macias
Joe Edwards
Greenhorn

Joined: Jul 12, 2003
Posts: 2
Start with the basics. If you're running under any flavor of UNIX, make sure that the user/group your appserver is running as has read and execute permissions on all the .jar files in ./appserver/lib.
George Secillano
Greenhorn

Joined: Jul 11, 2003
Posts: 7
To me it looks like you are migrating to a newer version of WebSphere.
Try using the following context factory:
com.ibm.websphere.naming.WsnInitialContextFactory
The exception starts during lookup, so it might be that you are getting the wrong initial context in the first place.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Problems with DataSources (NoClassDefFoundError: com/ibm/ejs/sm/beans/RepositoryOb...