1

データベースのメタデータを読み取るためにorg.apache.ddlutilsパッケージを使用しようとしています。私は次の方法を書きました:

public static void readMetaData(DataSource dataSource) throws DdlUtilsException{

    final Platform platform = PlatformFactory.createNewPlatformInstance(dataSource);
}

しかし、ステートメントが DdlUtilsExceptionをスローすると、次のエラーが発生します。

タイプ DdlUtilsException の例外はスローできません。例外タイプは、Throwable のサブクラスでなければなりません

http://db.apache.org/ddlutils/api/org/apache/ddlutils/DdlUtilsException.htmlの APIに次のように明確に記載されているため、このエラーの背後にある理由がわかりません。

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by org.apache.commons.lang.exception.NestableRuntimeException
                  extended by org.apache.ddlutils.DdlUtilsException

ご意見をお聞かせください。

4

2 に答える 2

3

私の推測ではDdlUtilsException、コンパイラが完全なパッケージ名を言及していないことを考えると、どこかで呼び出された別のクラスがあると思います。おそらくトップレベルのパッケージです。Eclipse などを使用している場合は、クラス宣言に移動してみてください。

編集:わかりました、あなたのコメントから判断すると、さまざまな依存関係が含まれていません。DdlUtils-1.0-bin.zip をダウンロードしたこと、および依存関係がすべて lib ディレクトリにあることを確認してください。それらすべてが必要かどうかはすぐにはわかりませんが、最初はすべて使用してから、不要なものを削除することもできます。

于 2011-02-11T15:14:25.607 に答える
1

他のクラス「org.apache.commons.lang.exception.NestableRuntimeException」が commons-lang にあるようです。そのjarをダウンロードして追加すると、動作するはずです。DDL Utils のドキュメントを確認し、それが他に何に依存しているかを確認してください。

于 2011-02-11T15:31:59.307 に答える