私は長い間同じ問題に取り組んできましたが、最終的に「リンクされたフォルダー」という良い解決策に出くわしました。これは、シンボリック リンクと同様に機能する Eclipse の機能です。これにより、単一の物理フォルダーを複数のプロジェクトにマップできます。このソリューションの優れた点は、特別なビルド手順を必要としないことです。そのため、Eclipse はテストのためにローカルの Tomcat サーバーに変更を自動的にデプロイできます。
私の構成は次のとおりです。「SharedContent」という名前の Eclipse プロジェクトがあります。WebContent ディレクトリ内には、サブディレクトリ「shareRoot」があります。すべての再利用可能なファイル (.jsp、.css など) は、SharedContent/WebContent/shareRoot の下のどこかに配置されます。これは動的 Web プロジェクトであるため、適切なエディターがすべて有効になっていますが、実際にビルドまたは展開することはありません。
私の他のプロジェクトでは、shareRoot を指すリンク フォルダーを追加します。Eclipse 3.6 での手順は次のとおりです。
パッケージ エクスプローラーで、再利用可能なファイルを含める必要があるプロジェクトの WebContent ディレクトリを右クリックします。
[新規] -> [フォルダー] を選択します。
「詳細 >>>」ボタンをクリックします。
[別の場所へのリンク (リンクされたフォルダー)] ラジオ ボタンを選択します。
このすぐ下のテキスト ボックスで、[参照] をクリックします。
ソース ツリーで、SharedContent/WebContent/shareRoot に移動します。次に、すべてのダイアログが消えるまで、[OK]、[開く]、[終了] ボタンをクリックします。
共有コンテンツがプロジェクトにマップされました。面倒なことに、これらのファイルを参照するときは URL に「shareRoot/」を含める必要がありますが、お気に入りの URL 書き換えフィルターを使用してこれを回避できます。
Java ソース ツリーで同様のトリックを使用して、Java ファイルを複数のプロジェクトにマップできます。ローカル Tomcat サーバーで変更をテストするたびに .jar を再構築する必要がなくなるため、共有コードを .jar ファイルにビルドする代わりに、これを開始しました。