1

JDBC-ODBC Bridge は Java 8 に含まれなくなったため、 UCanAccessを試しましたが、問題が発生しています。これが私のコードです:

  package jdbc;
  import java.sql.*;

 public class jdbc  
 {
    Connection con;
    Statement st;

    jdbc()
    {  
        try
        {
            con=DriverManager.getConnection("jdbc:ucanaccess://P:/eclipseWorkspace/databases/signup.accdb");
        st=con.createStatement();

        st.executeUpdate("INSERT INTO signup (firstName,lastName,email,password)     VALUES ('rocky','balboa','rocky@gmail.com','pop')");
        System.out.println("SUCCESS");

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    }


}

class main
{
     public static void main(String args[])
    {
        new jdbc();
    }
}

画像に示すように、いくつかの外部 jar を含めました。

http://i.imgur.com/ujhPP0l.png?1

実行すると、次のように ClassNotFoundException および NoClassDefFound エラーのスタック トレースが表示されます。

http://i.imgur.com/UACP77k.png?1

コードの何が問題になっていますか?

4

1 に答える 1

1

UCanAccess にはいくつかの依存関係があり、そのうちの 1 つが commons-lang-2.x (2.4 以降) です。プロジェクトで commons-lang3-3.3.2 を使用しているため、UCanAccess (実際には Jackcess) は commons-lang-2.x クラスを見つけることができません。

UCanAccess ディストリビューションを解凍するlib/と、必要な依存関係の互換性のあるバージョンを含むフォルダーが作成されました。commons-lang3-3.3.2.jarプロジェクト内の参照をcommons-lang-2.6.jarUCanAccesslib/フォルダーからのものに置き換える必要があります。

于 2014-05-24T08:55:56.800 に答える