1

ant-contrib-1.0b3.jar と追加の jar ファイルを libs-directory から Ant-Runtime-preferences の「Global Entries」セクションに追加して、Ant-Contrib 1.0b3 を Eclipse に統合しようとしました。 Eclipse のページ。

など、ライブラリを必要としないタスクではpropertyregex、これで問題なく動作します。しかし、postMethodタスクを使用しようとすると、次のエラーが発生します。

java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException

これを解決するために何をすべきかについての提案はありますか?

4

2 に答える 2

2

リグには、ant-contrib の依存関係である必要があるApache Commons Codecが含まれていないようです。

ここの依存関係によると、commons-loggingも必要になるかもしれませんが、おそらく既にそれを取得しています。

于 2009-10-23T10:48:14.923 に答える
0

ビルド ファイルでサードパーティのタスクを定義するときに、クラスパスを指定する方がはるかにクリーンです。個々の jar を提供するか<fileset>、依存する jar をクラスパスに追加します。

<taskdef
  resource="net/sf/antcontrib/antlib.xml"
  uri="http://ant-contrib.sourceforge.net"
>
  <classpath>
    <pathelement location="${ant-contrib.jar}"/>
    <fileset dir="${ant-contrib-dependency.lib}">
      <include name="*.jar"/>
    </fileset>    
  </classpath>
</taskdef>

このビルド ファイルでデフォルトant-contrib.jarとプロパティを定義し、ant ビルド ツールの VM 引数でプロジェクト固有のオーバーライドを提供できます。ant-contrib-dependency.libつまり、これらのファイルをシステム上のさまざまなディレクトリにコピーする必要はありません。

于 2009-10-23T20:18:36.647 に答える