0

フレームワークを作成したばかりで(統合として説明する方が正確です)、それを配布するための最良の方法は何でしょうか。プロジェクトは改修され、Spring 3を使用していますが、私は両方の分野の初心者であり、これを配布するための最良の方法が何であるかわかりません。

フレームワークには、私が作成したJavascriptライブラリ、Spring 3(Web MVCパーツ)、およびHibernateValidator間の統合が含まれます。

  • 私はpom.xmlプロジェクト全体のために持っています。
  • src/main/java統合に関連するクラスを持つ(適切に名前空間が付けられた)があります。
  • この統合に必要なJavascriptファイルを含むフォルダーのあるwebappディレクトリがあります。js
  • WEB-INF/tldsJavaで実装されたカスタムタグのtldを含むディレクトリがあります。
  • WEBINF/tagsカスタムタグ用のディレクトリがあります。
  • 私はにありapplicationContext.xmlますsrc/main/resources
  • 私はにありspringmvc-servlet.xmlますWEB-INF
  • 私はweb.xmlインを持っていWEB-INFます(標準ですぐに使えるように見えます。変更を加えたことを覚えていません)。
  • src/test/java/統合フレームワークのテストを含む

どのファイル/ディレクトリを含める/除外する必要がありますか?また、この統合を配布するための良い方法は何ですか(Spring 3の場合)?基準はありますか?

アップデート

申し訳ありませんが、「配布」の意味がわかりませんでした:)他の開発者は、ライブラリの配布方法と同様に、このフレームワークをプロジェクトのアーティファクトとして(おそらくjarとして)含めることができるという意味で意味しました。そこにwebapp固有のものがあるという事実に私はただ混乱しています。

4

3 に答える 3

1

ここで「配布する」とはどういう意味かによって異なります。:)

同じプロジェクトで作業できるように他の開発者に配布するだけの場合は、mvn cleanターゲットフォルダー、コンパイル済みクラスなどを削除するために呼び出す必要があります。このコマンドは、ファイル/ディレクトリの包含と除外を処理します。あなたがする必要があるのは、プロジェクト全体を圧縮して「配布」することだけです。開発者がこのプロジェクトをワークスペースにインポートすると、pom.xmlを介してすべてのjarファイルを取得します。私の意見では、Pom.xmlはMavenプロジェクトの中で最も重要な部分です。

コードに変更を加えるのではなく、エンドユーザーがプロジェクトを実行できるようにする場合はmvn package、warファイルを作成するために呼び出すことができます。このようにして、ユーザーはこのwarファイルをアプリケーションサーバーにドロップして実行できます。

于 2011-02-01T02:25:56.957 に答える
1

maven webappプロジェクトをフレームワークにすることは、他の人が使用するのに少し面倒です。問題は、何を含める/除外するかではなく、ダウンストリームのWebアプリケーションプロジェクトに何を含める/除外するかです。ダウンストリームプロジェクトは、war依存関係からを除外する必要がありweb.xml、依存するwarファイルと衝突するファイル/フォルダー名が含まれていないことを確認する必要があります。

通常、web.xmlは除外されmaven-war-pluginますが、ロガー構成などの構成ファイルはデフォルトでは除外されず、ダウンストリームプロジェクトでクラッシュします。が除外されているためweb.xml、ダウンストリームプロジェクトは、war依存関係のサーブレット定義が何であるかを知ることができません。それに応じて、自分でコピーまたは定義する必要があります。

に変更はないのでweb.xml、webappとして実行するつもりはないと思います。これをwarパッケージではなくjarパッケージにして、通常のmaven jarプロジェクトに変換する必要があります。つまり、src/main/webappフォルダーを削除します。

戦争に依存することは可能ですが、そうしないことを強くお勧めします。

アップデート

あなたのコメントから、それは私も心配していることです。それはおそらくあなたが戦争パッケージを使わなければならない唯一の理由です。したがって、次の点に注意する必要があります。

  1. の下にスプリングディスパッチャー構成xmlとBean定義がある場合は、のsrc/main/webapp構成設定を使用して、それらをダウンストリームプロジェクトに正しく含める/除外するようにしてくださいmaven-war-plugin。ファイル名がダウンストリームプロジェクトでクラッシュしないことを確認してください。Bean定義を再利用する場合は、ダウンストリームプロジェクトのニーズに合わせて構成されていない可能性があるため、注意が必要です。多くの場合、新しい定義を作成することになります。ヒント:クラスパスで一意のパッケージ名の下にリソースとして配置するのが最も安全で簡単な方法です。

  2. 戦争パッケージを作成するためにそこにいるweb.xml必要がありますが、それはによって下流の戦争プロジェクトから除外され maven-war-pluginます。このプラグインをダウンストリームプロジェクトに組み込む必要があります。にサーブレット定義がある場合web.xml、それはダウンストリームプロジェクトで再定義されますweb.xml

  3. フォルダの下でのフォルダ/ファイルの衝突に注意してsrc/main/webappください。

要約すると、主な関心事は、xml構成を配置する場所と、それを(統合ではなく)ダウンストリームプロジェクトに含める/除外する方法です。

于 2011-02-01T02:38:48.693 に答える
1

この質問でも説明されているMavenWARオーバーレイを使用します。

また、これらすべての例(おそらく、すでに持っているWebアプリから)を作成し、そこからMavenアーキタイプを生成します。

于 2011-02-01T09:19:36.640 に答える