2 つ (またはそれ以上) の Java Web プロジェクト (Java 6、maven) を 1 つの Web アプリケーション (現在は Servlet 2.5 & Tomcat 6) としてリリースする必要があるとします。
これら 2 つのプロジェクトをどのように開発すれば、簡単に組み合わせることができますか? うまく連携するフレームワークとツールは何ですか?
2 つ (またはそれ以上) の Java Web プロジェクト (Java 6、maven) を 1 つの Web アプリケーション (現在は Servlet 2.5 & Tomcat 6) としてリリースする必要があるとします。
これら 2 つのプロジェクトをどのように開発すれば、簡単に組み合わせることができますか? うまく連携するフレームワークとツールは何ですか?
基本的に、war ディストリビューションのアセンブリをサポートする maven-assembly-pluginを使用できます。現在、次の形式でディストリビューションを作成できます。
代替手段はmaven-war-pluginです。これは webapp をパッケージ化して組み立てますが、2 つの webapp の依存関係を追加する必要があります。
展開する前にさまざまな Web プロジェクトをバンドルする必要がある場合は、Git や SVN などによって管理される単一のリポジトリのみを作成することを個人的に検討します。この単一のリポジトリは、すべてのプロジェクトを単一のプロジェクトとしてではなく、1 つのアーカイブとして保存します。
このようにして、すべての開発者は自分のプロジェクトを取得できますが、この場合はパッケージにすぎません。開発が終了したら、このリポジトリから WAR ファイルをリリースするだけで、さまざまなプロジェクトを統合する方法を気にする必要はありません。
しかし、説明されている解決策にも欠点があると確信していますが、それはあなたの質問に対する私の最初のアイデアです。
1 つのアプローチは、完全な EE サーバーにデプロイできる EAR として 2 つの Web アプリケーションをパッケージ化することです。このために、アセンブリを行う別の Maven プロジェクトを作成できます。
そうは言っても、Tomcat は完全な EE サーバーではありません。WAR のみをデプロイできます。したがって、いくつかの戦争オーバーレイ手法を検討する必要があるかもしれませんが、それらを使用して維持するのは難しいと思います.
Maven war プラグインはオーバーレイを実行できます。例。これは、Web リソースを含めるのには適していますが、web.xml には適していません。
また、さらに web.xml コンテンツをマージできるcargo-maven2-pluginもあります。