Java Oracle的ClassNotFound异常,即使类位于类路径中
我面临一个ClassNotFound异常,即使在Eclipse中可以使用代码助手导入该类。这意味着该类实际上是可访问的Java Oracle的ClassNotFound异常,即使类位于类路径中,java,eclipse,oracle,Java,Eclipse,Oracle,我面临一个ClassNotFound异常,即使在Eclipse中可以使用代码助手导入该类。这意味着该类实际上是可访问的 package com.shaurya.dbmodels; import java.sql.Connection; import java.sql.DriverManager; import oracle.jdbc.driver.OracleDriver; public class OracleSCB extends DBuser implements S
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驱动程序。我知道我不需要导入oracle.jdbc.driver.OracleDriver;但是它只是检查驱动程序是否可以访问,而且确实可以访问。显然,动态web项目的运行时类路径总是在web-INF中。因此,如果有人想使用另一个JAR,则必须将它放在web-INF/lib中,然后添加到构建路径中。这样做的诀窍是确保它也在运行时类路径中。不仅不需要进行导入,还不需要Class.forNameoracle.jdbc.driver.OracleDriver;正如Elliott提到的,不要混淆编译类路径和运行时类路径。导入将使用编译类路径,而在执行运行时发生未找到的类。很可能在运行时类PathKay中没有Oracle JAR,那么如果我将其部署到其他地方,谁会在运行时类PathSystem变量中没有Oracle驱动程序呢??我在项目库中有Jar文件,.classpath文件也包含到它的相对路径。如果这就是你所说的运行时类路径??我也在使用Oracle 10g和Java 1.7