java - java.lang.NoClassDefFoundError:无法初始化类 oracle.jdbc.driver.ClassRef
问题描述
我在 VM 的服务器和客户端上都有 CentOS。我正在尝试将 Java SE 8 与 Oracle 11gR2 连接起来。但它给出了这个错误。我添加ojdbc6.jar
了"project properties-> libraries -> Add Jar/folder->/usr/java/jdk1.8.0_20/jre/lib/ext/ojdbc6.jar
和ojdbc8.jar"
。
代码是:
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.*;
class OracleCon
{
public static void main(String args[])
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@serverora11gr2:1521:orcl","scott","tiger");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from emp");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}
catch(Exception e)
{ System.out.println(e);}
}
}
错误是:
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class oracle.jdbc.driver.ClassRef
at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:262)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at OracleCon.main(OracleCon.java:10)
/home/rahul/.cache/netbeans/8.2/executor-snippets/run.xml:53: Java
returned: 1
BUILD FAILED (total time: 0 seconds)
解决方案
尝试可以从这里下载的最新 JDBC 驱动程序:https ://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html 。这个错误应该会消失。
推荐阅读
- python - 了解默认烧瓶日志记录
- html - ASP .Net Core 内联编辑记录而不使用 javascript
- java - Thymeleaf th:字段到字符串变量
- ios - iPhone Chrome 大约 1 秒后更改布局
- ios - 如何在 iOS 中的 CallKit 上编写 XCUITests?
- python - 从python中的文本文件中检索行和
- javascript - 使用 reactjs 计算多个表单的 2 个日期之间的时间
- wso2 - WSO2 apim - 在创建新租户时添加自定义角色
- python - 如何用更小和更多的数据集重新训练 TF/Keras 深度学习模型
- python - 使用 Python 使用缓冲区改善客户端从服务器并行接收多个数据块的延迟