简体   繁体   English

找不到类异常

[英]getting class not found exception

Hi friends i am facing the following error while trying to connect to a database through java code: 嗨,朋友,我在尝试通过Java代码连接到数据库时遇到以下错误:

Exception in thread "Main Thread" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.example.model.Driver.main(Driver.java:13)

My java code is: 我的Java代码是:

package com.example.model;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Driver {
    public static void main(String args[]) throws ClassNotFoundException,
    SQLException {

        Class.forName("oracle.jdbc.OracleDriver");
        // or you can use:
        // DriverManager.registerDriver(
        // new oracle.jdbc.driver.OracleDriver());
        Connection conn = DriverManager.getConnection(
        "jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "scott", "tiger");

        Statement stmt = conn.createStatement();
        ResultSet rset = stmt.executeQuery("select * from customer");
        while (rset.next())
            System.out.println(rset.getString(1));
        rset.close();
        stmt.close();
        conn.close();
    }
}

As per i came to know it could be due to class path issue but don't know how to resolve it. 据我所知,这可能是由于类路径问题,但不知道如何解决。 I set my class path to 我将课程路径设置为

C:\bea\user_project\workspace\wlserver_10.3\server\ext\jdbc\oracle\11g\ojdbc5.jar;

I am using weblogic 10.3 workspace and weblogic 10.3 server. 我正在使用weblogic 10.3工作区和weblogic 10.3服务器。

The java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver definitely means that the mentioned class is not on the class path. java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver绝对意味着所提到的类不在类路径上。 And because ojdbc5.jar has it, the whole question is: "how did you set your classpath"? 而且因为ojdbc5.jar有它,所以整个问题是:“您如何设置类路径”?

Here is what I get on my machine using your code (using the default package): 这是我使用您的代码(使用默认程序包)在我的计算机上获得的信息:

$ cat > Driver.java
...
$ javac Driver.java
$ java -cp /home/pascal/opt/Oracle/Middleware/wlserver_10.3/server/ext/jdbc/oracle/11g/ojdbc5.jar:. Driver 
Exception in thread "main" java.sql.SQLException: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
    at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508)
    at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at Driver.main(Driver.java:15)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:328)
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:421)
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:634)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:208)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
    ... 7 more
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at java.net.Socket.(Socket.java:375)
    at java.net.Socket.(Socket.java:189)
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:127)
    at oracle.net.nt.ConnOption.connect(ConnOption.java:126)
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:306)
    ... 12 more

The driver is found (I get an exception because I'm not running any Oracle server but this is another story). 找到了驱动程序(由于没有运行任何Oracle服务器,所以我得到了一个例外,但这是另一回事了)。

I will try to put it in the weblogic's lib folder... and restart the server, so you will be sure that it is a classpath problem... 我将尝试将其放在weblogic的lib文件夹中...并重新启动服务器,因此您将确定这是类路径问题...

You should download the oracle drivers from oracle and put the .jar file in the project's CLASSPATH... 您应该从oracle下载oracle驱动程序,并将.jar文件放入项目的CLASSPATH中。

You can download it at Oracle's drivers download page 您可以在Oracle的驱动程序下载页面上下载它

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 为什么我得到Class not found异常 - why I am getting Class not found exception 在Spring 4.2中EhCacheManager上获取类未找到异常 - Getting class not found exception on EhCacheManager in Spring 4.2 无法实例化servlet,导致未找到类异常 - Unable to instantiate a servlet, getting class not found exception 找不到类在eclipse中运行时出现异常 - Getting class not found Exception when running in eclipse 在Spring Boot应用程序中获取类未找到异常错误 - Getting Class not Found Exception error in spring boot application 通过ANT执行的Junit继续获取Class找不到异常 - Junit executing via ANT keep getting Class not found Exception 在某些Android设备上获取类未找到异常/ noclassdeffound错误 - Getting a class not found exception / noclassdeffound error on some Android devices 在eclipse插件中不断获取Postgres驱动程序的Class Not Found异常 - Keeps getting Class Not Found Exception for Postgres driver in eclipse plugin Android Studio 在连接数据库时找不到 class 异常 - Android Studio getting class not found exception on connecting database 无法在 docker 中运行 jmeter 测试,得到 class 未找到异常 - Unable to run jmeter test in docker, getting class not found exception
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM