2013-03-24 33 views
3

這是我的代碼,我收到錯誤。我的classes12.jar已作爲外部罐子進口。oracle.jdbc.driver.OracleDriver ClassNotFoundException

import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class LoginAction extends HttpServlet { 
Connection conn; 
Statement stmt; 
ResultSet rs; 
String query = "SELECT * FROM v_urja_login"; 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    PrintWriter out = response.getWriter(); 
    out.println("Hello"); 
    String u_name = request.getParameter("uname"); 
    String u_pass = request.getParameter("upass"); 
    out.println(u_name); 
    out.println(u_pass); 
    try{ 
     Class.forName("oracle.jdbc.driver.OracleDriver"); 
     conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","urja","urja"); 
     stmt = conn.createStatement(); 
     rs = stmt.executeQuery(query); 
    }catch(SQLException sex){ 
     sex.printStackTrace(); 
    } catch (ClassNotFoundException cnf) { 
     cnf.printStackTrace(); 
    } 
} 
} 

堆棧跟蹤:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:169) 
    at LoginAction.doPost(LoginAction.java:27) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:619) 
+0

代碼在哪裏? :) – Maroun 2013-03-24 13:01:44

+0

司機在哪裏? – 2013-03-24 13:04:56

+0

Maroun Maroun我已經爲你添加了代碼。 – Mavrick 2013-03-24 13:11:22

回答

8
Class.forName("oracle.jdbc.driver.OracleDriver"); 

此行導致ClassNotFoundException,因爲你還沒有放置ojdbc14.jar文件中的項目的lib文件夾。或者您還沒有設置必要的罐子

+0

補充說,也沒有得到解決方案。 – Mavrick 2013-03-24 13:20:30

+0

@Mavrick在您的lib文件夾中添加classes12.jar – Pragnani 2013-03-24 13:33:07

+0

乾草我已經添加了兩個jar文件。 – Mavrick 2013-03-24 13:39:23

4

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

classpath就在將ojdbc14.jar添加到類路徑。

以下是在Eclipse中添加ojdbc14.jar的是如下的步驟:

1)項目內部

2)圖書館

3)JRE系統庫

右擊

4)構建路徑

5)選擇配置構建路徑

6)點擊添加外部JAR ...

7)C:\ oraclexe \程序\ ORACLE \產品\ 10.2.0 \服務器\ JDBC \ lib中

8)在這裏,你會得到ojdbc14。罐子

9)選擇在這裏

10)開放

11)確定

保存並運行程序,你會得到輸出。

0

試圖通過服務器的lib添加ojdbc6.jar或其他版本的 「C:\ Apache的Tomcat的7.0.47 \ LIB」,

然後,重新啓動Eclipse中的服務器。

0

方法1:下載ojdbc.jar

ojdbc6.jar添加到部署組裝。右鍵點擊project-> properties->選擇部署程序集 - >點擊'Add' - >選擇'Archives from File System' - >瀏覽到保存ojdbc6.jar的文件夾。 - >添加jar - >點擊完成 - >應用/確定。

方法2:

如果你想ojdbc.jar添加到您的Maven依賴你遵循這個鏈接

http://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/ 。 。 即使您使用的是Maven項目,也不需要將ojdbc添加到Maven依賴項(方法2),但方法1(直接添加到部署程序集)可以很好地工作。

1

在Eclipse中,您的應用程序

運行方式右擊 - >運行配置 - >選擇下引導條目從型過濾器文本框中

然後在類路徑您的服務器添加classes12.jar文件並點擊應用
現在,運行該文件......這對我有效!

+0

您的解決方案適用於我。謝謝:) – santobedi 2018-02-01 01:38:45

+0

很高興聽到這個,謝謝:) – 2018-02-01 06:10:03

0

1.右鍵單擊您的Java項目。

2.選擇「RUN AS」。

3.Select 「RUN CONFIGURATIOS ......」。

4.Here選擇在頁面左側的服務器,然後ü將看到riht側「類路徑」選項卡,單擊它即可。

的「用戶條目」

5.Here clilck並選擇「添加外部JAR」。

6.Select 「ojdbc14.jar的」 文件。

7.單擊應用。

8.單擊運行。

9.最後重新啓動您的服務器,然後它將被執行。

-1

您可以添加其中,具有上述指定類中的任何JAR存在像ojdbc14,ojdbc7,ojdbc6但要確保你已經添加入類路徑中。

相關問題