Java Oracle的ClassNotFound异常,即使类位于类路径中

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

我面临一个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 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