नीचे कोड लाइन पर विफल रहता है का उपयोग करते हुए:ClassNotFoundException oracle.jdbc.driver.OracleDriver केवल सर्वलेट में, ग्रहण
Class.forName("oracle.jdbc.driver.OracleDriver");
त्रुटि के साथ
:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
दो println
रों प्रिंट:
Wed_Jun_22_11:18:51_PDT_2005
false
इससे मुझे लगता है कि कक्षा मौजूद है और पाया जा सकता है। यह भी एक ही कक्षा एक गैर-सर्वलेट अनुप्रयोग में काम करती है।
मैंने कई बार रीबूट किया है और एप्लिकेशन/सर्वलेट को कई बार पुन: उत्पन्न किया है। सभी मूल्यों को इसे सरल और छोटा बनाने के लिए कठिन कोड किया गया है।
private static Connection getDBConnection() throws Exception {
System.out.println(oracle.jdbc.driver.OracleDriver.BUILD_DATE);
System.out.println(Class.class.desiredAssertionStatus());
//load the driver
Class.forName("oracle.jdbc.driver.OracleDriver");
return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "SYSTEM", "pass");
}
पूर्ण सर्वलेट कि विफल रहता है:
package servletClass_3;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class OneMoreBookStore
*/
@WebServlet("/OneMoreBookStore")
public class OneMoreBookStore extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
private static Connection getDBConnection() throws Exception {
System.out.println(oracle.jdbc.driver.OracleDriver.BUILD_DATE);
System.out.println(Class.class.desiredAssertionStatus());
//load the driver
Class.forName("oracle.jdbc.driver.OracleDriver");
return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "SYSTEM", "pass");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try
{
Connection con = getDBConnection();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
यह आवेदन काम करता है:
package servletClass_3;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnect {
private static Connection getDBConnection() throws Exception {
System.out.println(oracle.jdbc.driver.OracleDriver.BUILD_DATE);
System.out.println(Class.class.desiredAssertionStatus());
//load the driver
Class.forName("oracle.jdbc.driver.OracleDriver");
return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "SYSTEM", "pass");
}
public static void main(String[] args) {
try
{
Connection con = getDBConnection();
System.out.println("connection worked");
con.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
मैं उपयोग कर रहा हूँ:
- ग्रहण JavaEE 1.4.2
- बिलाव 7
- jdk1.7
- ओरेकल 11g R2
- विंडोज 7 64 बिट
क्या आप सुनिश्चित हैं कि आपके पास अपने वेब एप्लिकेशन/WEB-INF/lib निर्देशिका या $ {tomcat.install.dir}/lib निर्देशिका में आपका ऑरैक-xx.jar है? ऐसा लगता है कि क्लासपाथ से ओरेकल ड्राइवर जार गायब है। –