Maven の Netbeans モジュール プラグインを使用して自動更新サイトをアーティファクトとして作成する方法
自動更新サイトのファイルが target/ ディレクトリに生成されていることがわかりますが、それをアーティファクトに変換する方法がわかりません。
私の最終的な目的は、簡単にインストールできるように war に組み込むことです (依存関係プラグインを使用してアーティファクトをアンパックします)。
Maven の Netbeans モジュール プラグインを使用して自動更新サイトをアーティファクトとして作成する方法
自動更新サイトのファイルが target/ ディレクトリに生成されていることがわかりますが、それをアーティファクトに変換する方法がわかりません。
私の最終的な目的は、簡単にインストールできるように war に組み込むことです (依存関係プラグインを使用してアーティファクトをアンパックします)。
私は専門家ではありませんが、これを処理するための "古典的な" 方法で webstart アプリを生成していませんか? ドキュメントから:
nbm-aplication プロジェクト/パッケージングは、ローカル/リモート リポジトリの nbm ファイルから最終的なアプリケーションを作成し、それらを zip ファイル (リポジトリにもアップロード可能) にバンドルするビルド ライフサイクルを定義します。さらに、生成するようにプロジェクトを構成できます。自動更新サイトおよび/またはアプリケーションの webstartable バイナリ。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>nbm-maven-plugin</artifactId> <executions> <execution> <id>extra</id> <phase>package</phase> <goals> <goal>autoupdate</goal> <goal>webstart-app</goal> </goals> <configuration> <!--distBase>central::default::http://repo1.maven.org/maven2</distBase--> <codebase>${project.build.directory}/webstart/milos</codebase> </configuration> </execution> </executions> </plugin>
詳細については、autoupdateと webstart-app の 目標を参照してください。
しかし、このプラグインは、生成したファイルからアーティファクトを作成しません。それが私の問題です...「war」プロジェクトのビルド中に別の場所でアンパックする必要があるためです。
その場合、Maven Assembly Pluginを使用して、生成されたファイル (zip、tar.gz など) のディストリビューションを作成し、ビルド中にローカル リポジトリにインストールします。次に、 を使用して war プロジェクトからアーカイブを解凍できますdependency:unpack
。
nbmプラグインの更新サイトの目標は、「pom」パッケージ化されたプロジェクトで機能し、reactorのプロジェクトから更新サイトを作成します。pomプロジェクトにはアーティファクトを添付できないため、アーティファクトは生成されません。
次に、プロジェクトの依存関係を取得し、そこから更新サイトを作成するnbm-applicationプロジェクトでも機能します。次に、更新サイトのgzipがメインのアーティファクトに添付されます(これはアプリケーションのzipファイルですが、その作成はパラメーターによって抑制できます)。このユースケースをリリースリポジトリを指すnbm配布URLパラメータと組み合わせると、基本的に、リリースリポジトリはデプロイメント更新サイトとバージョン管理された更新サイトに等しくなります。明らかに、実行中のアプリケーションでは安定したURLが必要なので、何らかの方法で(手動で、テスト後に)現在の更新サイトをその1つのパブリックURLにシンボリックリンクする必要があります。