2009-07-28 16 views
4

私はこのワークスペース内の参照されるプロジェクトによく使用されるJARファイル用の集中フォルダ(Eclipseプロジェクトの「メタプロジェクト」)を作成しようとしています。 Webプロジェクト用のWEB-INF/libフォルダと同様に動作するはずですが、Web以外のプロジェクトにも適用され、このフォルダ内のすべてのjarファイルを自動的にスキャンして追加します。Eclipseプロジェクト用のJARファイルフォルダ

これらのjarファイルを使用してユーザーライブラリを作成してプロジェクトで参照しようとしましたが、ユーザーライブラリに手動で新しいjarファイルを手動で追加する必要があります(absouluteの相対参照の場合はわかりません)。 Tomcat(WTP)は、これらのファイル(Run As - > Run on Server)をそのクラスパスに入れていないようです(そして、jarを複製してWEB-INF/libに入れたくありません)。何か案は?

+0

... TomcatでWARファイルを扱うべきではないですか?これらは、上記のように常にWEB = INF/libを使用します。 – Powerlord

+0

これは、Web以外のプロジェクトのWEB-INF/libフォルダと同じ機能を持つ最初の問題を解決するものではありません。そして私はeclipseからWebプロジェクトを直接デプロイして実行します(実行コンフィギュレーションでTomcatクラスパスに一般的なJARファイルフォルダを追加したいのですが、動作していないようです) – Daff

答えて

6

+1 for Ivy。あなたではなく、Eclipseで区切られたプロジェクトでそれを行うたい場合

は:

は、あなたが他のプロジェクトの依存関係のよう「共通プロジェクト」を追加(JavaはPath->プロジェクトをビルドし、[追加)。しかし、あなたは「共通プロジェクト」の瓶を輸出しましたか? (共通のプロジェクトでは、Java Build Path-> Order and Exportのすべてのjarをチェックします)。

+0

+1プロジェクトのjarをエクスポートする設定はユーザーライブラリよりもはるかに優れています。特に、これらの設定をユーザーコントロールでは不可能なバージョン管理下に置くことができます。 –

+0

+1私は瓶を輸出しているようですが、あなたが紛失しているビットです – Pablojim

+0

ありがとう、それはユーザーのライブラリと作品よりも良い方法です。 Tomcatをどういうわけかこれらのライブラリで動かす必要がありますが、うまくいくことを願っています。私は確かにMavenやIvyを見ていきます。うまくいけば、私は他のチームメンバーがそれを使用することを納得させることができます。 – Daff

3

重複している依存関係のあるプロジェクトがたくさんある場合、これはお勧めです。

Project Xがcommons-logging-1.0を使用していて、誰かが本当にcommons-logging-1.1が必要なProject Zを作成するとどうなりますか?可能なバージョン番号ごとに同じJARのコピーを中央フォルダに保存しますか?

依存するJARをダウンロードして処理するMavenやIvyなどのビルドツールを使用します。 maven-eclipseプラグインは、すべての依存JARをビルドパスに自動的に入れるために、.project/.classpathのEclipse用ファイルを生成するのに非常に良い仕事をします。また、m2eclipseはEclipse内の依存関係をうまく処理します。

1

私はMavenを真剣に考えてください。プロジェクトのそれぞれが依存する「成果物」を宣言するだけで、MavenはリポジトリからJARファイルを取得し、ビルドクラスパスに追加してWARファイルに組み込むことになります。また、バッチビルドをしたい場合は、Antの "build.xml"ファイルを作成する必要はありません。コマンドファイルから "mvn"を実行するだけです。

1

私はAntへのIvy拡張を使ってこれらのことを管理することを考えています。これはあなたがこのようにしたいと望むならば、mavenと互換性があるという利点があります。

突然、大きなファイルにすべてを投げてしまうと、突然、2つのプロジェクトがあるときにバージョンの問題にぶつかるので、作成されたときに使用できるバージョンを使用します。もう1つは、それらは100%互換性がありません。

0

更新サイトは、プラグインがウンターLGPLライセンスされてhttp://repo.openscada.org/p2/bob/R

で発見することができますhttp://openscada.org/news/dx/31.05.2010154336JREJ4U.htm

で見ている私の同僚は、recursivlyワークスペース内の所定のディレクトリにjarファイルを探しクラスパスコンテナを実装V3の下でソースコードを見つけることができますhttp://pubsvn.inavare.net/openscada/modules/bob/trunk/

関連する問題