現在、かなり古い Perl + Ant ビルド システムから Maven に移行しています。
ソフトウェア自体は、メインの通信システムとして RMI を使用するクライアント/サーバー アプリであり、ビルドによって (多数の) jar が生成されます。
このソフトウェアは、通常のフレームワークが成熟するずっと前から存在していたため、以下を使用していません。
- 通常の永続レイヤー (Hibernate/JPA のようなもの)
- Spring などの MVC アプリケーション フレームワーク
- 任意の Java EE インフラストラクチャ (war/ear パッケージなし)
実際には、jar ファイルと conf ファイルのセットとして出荷され、一連の起動/管理スクリプトが含まれています。
コンパイル/ビルド システムを maven3 に移植しました。クライアントとサーバーのデプロイメント ツリーは現在、アセンブリ プラグインを使用して Maven に移植されています。
Maven フレームワークで現在不足しているのは、アプリを開発ステーションにデプロイしてサーバーを構築し、いくつかの基本的な統合テストを実行できるようにすることです。
理想的には、maven を使用して、クライアント、サーバー、および DB フィクスチャ (実際にはコードも生成されます) のイメージをデプロイしたいと考えています。
Web アプリをデプロイする方法については多くのヒントが見つかりましたが、統合テスト自体についてはほとんどなく、maven を使用して (非常に) 古い学校の C/S アーキテクチャのデプロイを処理する方法についてはほとんどありませんでした。
だから私の質問は次のようになります:
- アプリを展開できる既知の成熟したプラグインはありますか。C / Sの方法でDBフィクスチャを処理しますか?
そうでない場合、あなたのアドバイスは何ですか:
- 展開プロセスを処理するために、Ant ルールを使用して Maven ライフサイクルにバインドします (プロセスに適合するように適応できる Ant ターゲットがいくつかあります)。
- 展開のニーズに正確に適合する Maven プラグインを作成しますか?