0
即使類可以使用代碼助手在Eclipse中導入,也可以導入,但我仍面臨ClassNotFound異常。這意味着課程實際上是可以訪問的。即使Class在類路徑中,Oracle的ClassNotFound異常
package com.shaurya.dbmodels;
import java.sql.Connection;
import java.sql.DriverManager;
import oracle.jdbc.driver.OracleDriver;
public class OracleSCB
extends DBuser
implements ServerConnectionBehavior {
public OracleSCB()
{
super("SYSTEM","qwerty","Oracle");
}
public OracleSCB(String uid,String pass,String catg)
{
super(uid,pass,catg);
}
@Override
public Connection getconnection()
{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con= DriverManager.getConnection(getConnectionURL(),getuid(),getpass());
return con;
}
catch(Exception e)
{
System.out.print(e);
System.out.print("test4");
return null;
}
}
}
沒有像錯誤導入或任何錯誤。但我無法加載Oracle驅動程序。我知道我不需要做import oracle.jdbc.driver.OracleDriver;但它只是爲了檢查驅動程序是否可以訪問,而且是。
確保它也在你的運行時類路徑中。您不僅需要執行導入,還不需要'Class.forName(「oracle.jdbc.driver.OracleDriver」);'(從JDBC 4開始)。 –
正如Elliott所提到的,不要混淆編譯類路徑和運行時類路徑。導入將使用編譯類路徑,而在執行期間發現類別未發生(運行時)。很可能你沒有運行時類路徑中的Oracle jars – Manglu
沒問題,那麼如果我將它部署在其他地方,誰不會在hes運行時classpath(系統變量??)中擁有oracle驅動程序, Jar文件在項目的lib文件和.classpath文件中也包含它的相對路徑(如果這就是你的意思是由運行時類路徑??) –