4

Mavenユーザーリストで同様のことが尋ねられましたが、私はそれに似た状況にあります。

Mavenによってビルドされた.WARとしてパッケージ化されたサービスがあります。ただし、この .WAR ファイルにはカスタマイズが必要です。ユーザーの入力に応じて、さまざまな方法でパッケージ化する必要があります。基本的に、ユーザーは自分でコンポーネントを選択し、WAR に追加して、これらのコンポーネントの簡単な構成を定義する必要があります。

私がする必要があるのは:

  1. Mavenアーティファクトを含まない「軽量」インストーラーを作成します(または、それが不可能な場合は、それらすべてを含む=「ヘビーウェイト」インストーラー)。
  2. エンド ユーザーがインストーラーを起動すると、パッケージ化するコンポーネントのリスト (=チェックボックス) を求められます。
  3. コンポーネントごとに、インストーラーは構成オプションを要求します (その後、コンポーネントごとに .property ファイルとして保存されます)。
  4. 次に、インストーラーは必要なアーティファクト (ユーザーが選択したものと必須のもの) のみをフェッチし、それらのアーティファクトのプロパティ ファイルを手順 3 のプロパティ ファイルに置き換えます (またはそれらを「classes/」に配置します)。
  5. 最後に、すぐに使用できる WAR パッケージを作成し、(オプションで) バックグラウンドで tomcat (または jetty) を起動します。

IzPack は、ステップ 2 のみを解決するのに役立ちます。しかし、それに対する普遍的な解決策はありますか?

4

1 に答える 1

2

それを行う普遍的なソリューション、特にカスタマイズされたWARをパッケージ化するものは知りません。IzPackインストール パラメーターを収集できます (ステップ 3の解決にも役立つ可能性があります) ステップ 5 (最も重要)。

ここで Maven アーキタイプが役立つかもしれません (対話モードで)。しかし、アーキタイプが必要なレベルの柔軟性を提供するかどうかさえ確信が持てません。言い換えれば、それは単純ではありません。

実際、あなたの場合、Ant ( Maven Ant Tasksまたは Ivy を使用) が最良の選択肢になると思います。これはあなたが求めていたものではないことはわかっていますが、Maven はあなたのユースケースに適したツールではないと思います。

于 2010-02-05T20:47:58.653 に答える