0

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 (これはデータソース用です)

4

1 に答える 1

0

ObjectPoolクラスパスにクラスがありません。このクラスは、Apache の Commons Pools ライブラリによって提供されます。このライブラリは、こちらにあります。

于 2013-11-08T14:28:45.723 に答える