Note that there are some explanatory texts on larger screens.

plurals
  1. POTomcat6 ignores web-inf/lib
    primarykey
    data
    text
    <p><strong>Brief:</strong> Tomcat6 can't recognize my ojdbc14.jar in WebRoot/WEB-INF/lib. I suppose I don't need to configure anything, just putting the .jar file in there and it should work.</p> <p><strong>Details:</strong></p> <p>I've created a web application and put ojdbc14.jar in WEB-INF/lib folder. When I start Tomcat6 and <strong>access an index.jsp page which creates an object that initiates a connection to my oracle database</strong>, an error occurs saying "Cannot load JDBC driver class 'oracle.jdbc.OracleDriver'". Apparently <strong>Tomcat6 can't recognize the 'oracle.jdbc.OracleDriver' class in web-inf/lib/ojdbc14.jar</strong>.</p> <p>I've done some research and speculate the following reasons:</p> <ol> <li>Tomcat6 has got some different ways of loading classes. They change it in every version released. Or</li> <li>There is a bug with Tomcat6. I found a similar bug in Tomcat3 (see here <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=249044" rel="nofollow">https://bugs.eclipse.org/bugs/show_bug.cgi?id=249044</a>). But I doubt this bug could last for so many versions. </li> <li>Tomcat6 has included ojdbc14.jar's content in its own lib file already, and there's a conflict by adding it to web-inf/lib once more. I don't believe this, because after deleting ojdbc14.jar from WEB-INF/lib, the problem persists.</li> </ol> <p>Here's my web application structure:</p> <ul> <li>WebRoot <ul> <li>WEB-INF <ul> <li>classes <ul> <li>'A class for initiating a connection'</li> </ul></li> <li>lib <ul> <li>ojdbc14.jar</li> </ul></li> </ul></li> <li>index.jsp</li> </ul></li> </ul> <hr> <p>The error:</p> <pre><code>org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.OracleDriver' at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at com.demo6.DataSourceExample.getConnection(DataSourceExample.java:18) at org.apache.jsp.index_jsp._jspService(index_jsp.java:63) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760) ... 21 more </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload