我在尝试使用Datasource对象连接到我的数据库时遇到了这个烦人的Noclassdeffounderror。
我的代码:
package Main;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp.BasicDataSource;
public class DBConnection {
Connection connection = null;
BasicDataSource bdSource = new BasicDataSource();
public DBConnection(){
bdSource.setDriverClassName("com.mysql.jdbc.Driver");
bdSource.setUrl("jdbc:mysql://localhost:3306/sandwichdeluxe");
bdSource.setUsername("root");
bdSource.setPassword("killer");
}
public Connection createConnection() {
Connection con = null;
try {
if (connection != null) {
System.out.println("Cant create a New Connection");
} else {
con = bdSource.getConnection();
System.out.println("Connection Done successfully");
}
} catch (Exception e) {
System.out.println("Error Occured " + e.toString());
}
return con;
}
public static void main(String args[]) throws Exception {
DBConnection dsExample = new DBConnection();
Connection con = dsExample.createConnection();
Statement stmt = con.createStatement();
String query = "SELECT * FROM biryani";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println("ID- " + rs.getString("id") + ", Name- "
+ rs.getInt("name") + ", Price- "
+ rs.getString("price") + ", Details- "
+ rs.getString("details") + ", Strengt +
rs.getString("strength"));
}
con.close();
stmt.close();
rs.close();
}
}
堆栈跟踪:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/pool/ObjectPool
at Main.DBConnection.<init>(DBConnection.java:15)
at Main.DBConnection.main(DBConnection.java:44)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool.ObjectPool
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
我已经在项目库中添加了jar:1. mysql-connector-java-5.1.18-bin.jar 2. commons-dbcp-1.4.jar(用于数据源)
您在ObjectPool
类路径中缺少该类。此类由Apache的Commons Pools库提供,您可以在此处找到。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句