0

シナリオ

プロジェクトA、プロジェクトB、およびプロジェクトCを含むEclipseワークスペースがあるとします。build、、を取得しProject A.jarビルドが実行されたときにProject B.jar、ワークスペースの下に(どこにでも)フォルダーを作成するようにEclipseを構成する方法はありますか?(自動的にビルドする必要はないことに注意してください。これは、クリックして起動するものである可能性があります。)Project C.jar

以下の要件を満たしている限り、Antを含む多くのソリューションを利用できます。

要件

  1. Project A.jar/Project A/bin/Eclipseがビルドを実行するときに通常表示されるすべてのクラスとリソースファイルが含まれている必要があります。

  2. プロジェクトDをワークスペースに追加するとき、ビルドセットアップでうまく機能させるために、プロジェクトDに特別なことをする必要はありません。つまり、EclipseのワークスペースにプロジェクトDを追加するだけで、次にビルドが実行されたときにフォルダーProject D.jarに表示されます。buildこれらの要件はすべて、依存関係などの標準のEclipse構成のみを使用するプロジェクトDでも満たす必要があります。

  3. eclipseプロジェクトで設定されたクラスパスおよびその他の必要なビルド設定は、JARファイルに引き継がれる必要があります。つまり、実行できるProject A.jar必要がある場合は、のクラスパスに含める必要があります。Project B.jarProject B.jarProject A.jar

  4. のさらなる拡張として3、Eclipseワークスペースのプロジェクトではないサードパーティライブラリもコピーして参照する必要があります。つまり、Project A.jarrequiresの場合はspring.jarspring.jarもコピーし、参照をクラスパスbuildに追加する必要があります。Project A.jarこれらのサードパーティのライブラリをフォルダに入れることができれば、本当に素晴らしいと思い/build/libます。

  5. EclipseHeliosに付属していないサードパーティのツールやプラグインに依存することはできません。

関連している

EclipseでプロジェクトをJARに自動的にビルドすることは関連しているようで、要件15に適合する可能性がありますが、他の3つのいずれにも適合するとは思いません。

4

2 に答える 2

1

結局、 org.apache.tools.ant.Projectを使用して単純なAntスクリプトを実行するJavaプログラムを作成することになりました。Javaプログラムは、.classpathファイルを解析し、使用するAntスクリプトに適切なユーザープロパティ(jar出力パス、クラスパスなど)を設定します。

これは完璧なソリューションではないかもしれませんが、実装するのが最も簡単で、要件を満たしています。

Eclipseにサードパーティのプラグインを使用する場合は、Ant4Eclipseが適切なソリューションのようです。それは私にとって選択肢ではないので、私はそれをテストしませんでした。

于 2012-07-11T14:33:24.637 に答える
0

あなたが求めているものに対する簡単な解決策はありません。要件5を削除すると、他の人がサードパーティのソリューションを見つけるのに役立つ場合があります。

ベースのEclipseとAntを自由に使用できる場合は、完全に汎用的で、プロジェクトを反復処理し、.classpathファイルを解析し、コンパイルし、JARをビルドするなどのAntスクリプトを作成できます。簡単ではありませんが、確かに可能です。

于 2012-07-02T20:03:31.750 に答える