6

私は基本的に、単一の動的 Web プロジェクトではなく、WebContents フォルダーが複数のプロジェクトからマージされる Web プロジェクトを Eclipse で使用できるようにしたい状況にあります。

プロジェクト A に "a.jsp" があり、プロジェクト B に "b.jsp" がある場合、"a.jsp" と "b.jsp" が置かれている Web コンテナーに単一の Web アプリケーションを配置したいと考えています。同じフォルダ内で隣同士に。jsp ファイルだけでなく、すべてのファイルをこのようにマージできれば完璧です。

これは、アプリケーションのコア バージョンを使用できるようにすることですが、顧客固有の変更を簡単に処理できるようにすることです。

適切な ant マジックを使用してこれを実行できることはわかっていますが、現在の Eclipse ベースの開発プロセスでうまく機能するものを用意したいと考えています。私たちは Java クラスで JSR-330 依存性注入を使用します。基本的には依存性注入に沿った何かが必​​要ですが、クラスだけでなく、任意のリソースに対しても同様です。

Eclipseはこれを行うことができますか?

Eclipse ができない場合、おそらく EAR デプロイメントが適切でしょうか? 私は現在、WAR のみの経験があります。

4

4 に答える 4

1

Maven の使用がオプションである場合、ここでは Mavenオーバーレイが最適であり、理論的には m2eclipse プラグインでサポートされるはずです。しかし、私はそれについての経験がなく、いくつかの問題がある可能性があるため ( MNGECLIPSE-599を参照)、これにはいくつかのテストが必要です。

それでも、MNGECLIPSE-599のコメントは非常に興味深いもので、特に次のコメントは興味深いものです。

この問題が好きですか?このため、チーム全体が WAR 開発のために Netbeans に移行しました。基本的には、サーブレット 3.0 がこの問題を解決してくれるのを待っています (サーブレット 3.0 は、Maven でオーバーレイを行う必要性を効果的に無効にします)。アプリ。

Java EE 6 がオーバーレイを時代遅れにする方法は (Web Fragments を介して?) 私には明確ではありませんが、実際には Java EE 6 をサポートするEclipse の WTP リリースは2010 年 6 月まで延期されました。そのため、それまでは追加のツール (Maven オーバーレイなど) が必要になるか、NetBeans への切り替えを検討する必要があります。

于 2010-01-07T11:09:09.993 に答える
1

同様のユースケースがあり、(Pascal が提案したように) Maven を使用して正常に解決しました。ルート Web プロジェクト (これもスタンドアロンで動作します) があり、クライアントごとに、ルート Web プロジェクトとオーバーレイするように構成された個別の Web プロジェクトがあります。さらに、各クライアントにはいくつかの環境があるため、各環境 (テスト、本番、ローカルなど) の Maven プロファイルを作成しました。私はこれを少し文書化したので、興味があれば、文書を郵送してもかまいません.

于 2010-07-05T08:37:38.240 に答える
0
  • ant を使用するために「Eclipse ベースの開発プロセス」を変更する必要はありません。Ant ビルダー ( right click project > Properties > Builders) を登録し、ant スクリプトを eclipse プロセスに統合するだけです。
  • Maven のマルチモジュール オプションを使用できます。(Eclipse 用の Maven プラグインも非常に優れています)
  • use はFileSyncも使用できます- 業界標準ではありませんが、非常に強力です。localhostもちろん、上での開発に使用されます。

FileSync を使用するためのいくつかのヒントを次に示します。

  • どのファイル/ファイルパターン/ディレクトリをターゲットディレクトリにコピーするかを設定します(webapps/applicationあなたの場合はTomcatです)。したがって、「保存」を押すとすぐに、ファイルがコピーされます。
  • リンクされたリソース ( ) を導入し、prefs ファイルでリンク リソース変数を使用して、すべての絶対パスをFileSync.xxxx.prefs相対パスにします (それを呼び出します) 。preferences > workspace > linked resourcesWEBAPP_HOME
  • FileSync.xxxx.prefsファイルをコミットする
  • チームの各開発者にWEBAPP_HOME変数を構成するように指示します。したがって、セットアップは 1 台のマシンに対してのみ有効ではなく、チーム内の各マシンに対して有効になります。
于 2010-01-07T09:56:39.267 に答える