0

プロジェクトAのビルドファイルには、<path>;があります。

<java>プロジェクトBのビルドファイルで、プロジェクトAのツールクラスをタスクごとに実行したいと思います。

タスクは<java>、「classpathref」プロパティでそのパスを使用する必要があります。

プロジェクトAの<path>ビルドファイルは非常に複雑なので、プロジェクトBのビルドファイルにコピーしたくありません。

では、あるビルドファイルで定義されたクラスパスを別のビルドファイルから参照することは可能ですか?

4

2 に答える 2

0

Antを使用すると、プロジェクトファイルを別のファイルにインポートできます。ほとんどの場合これが必要になるので、セクション「インポートされたファイルに対するファイルの解決」をチェックすることができます。

于 2012-06-08T08:22:38.663 に答える
0

インポートまたはインクルードANTタスクを使用するのがこれを行う方法です。ただし、これらは両方とも設計されたビルドマルチモジュールビルドです。このように2つの異なるプロジェクトを結合することは一般的に非常に悪い考えです。

私はその動機を理解しています。クラスパス管理は、Javaビルドの最も重要でエラーが発生しやすい部分の1つです。私の推奨事項は、Apache ivyを採用し、ビルドのサードパーティの依存関係を管理できるようにすることです。

例:

依存関係の宣言を使用してANTパスを作成するivycachepathタスク。

   <ivy:cachepath pathid="test.path">
        <dependency org="org.slf4j" name="slf4j-simple" rev="1.6.4" conf="default"/>
        <dependency org="junit" name="junit" rev="4.10" conf="default"/>
    </ivy:cachepath>

jar自体は、ローカルに保存することも、MavenCentralリポジトリから取得することもできます。

于 2012-06-09T02:21:28.430 に答える