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]
