DBCP needs access to the oracle driver. The way classpaths work, the parent can't see the child. As such, library in common/lib, server/lib, or shared/lib cannot load a library in WEB-INF/lib. As such, you will need to put the oracle jar in common/lib. There is no way around it if you want the container to manage the connection pool. If Tomcat used something like JBoss' unified classloader, it might be different, but with the classloader hierarchy that Tomcat uses, you'll just have to bite the bullet and move the oracle driver out of WEB-INF/lib and into common/lib.


Jake

At 09:22 AM 3/5/2004 +0530, you wrote:
Hi all,
    I am getting ClassNotFoundException when I put the ojdbc14.jar in the
WEB-INF\lib folder. If I keep it in common\lib it is ok. Using JNDI to get a
datasource.
Tomcat 4.1.27
DBCP 1.1
JDK 1.4.1
The line throwing exception is -  ds.getConnection();

This is the stack trace.
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class
'oracle.jdbc.driver.OracleDriver', cause:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
 at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
java:992)
 at
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader
java:857)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:140)
 at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.jav
a:730)
 at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:5
18)
 at util.Pool.getConnection(Pool.java:52)

rgds
Antony Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to