Maven の Netbeans モジュール プラグインを使用して自動更新サイトをアーティファクトとして作成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3146221

質問

Maven の Netbeans モジュール プラグインを使用して自動更新サイトをアーティファクトとして作成するにはどうすればよいですか?

自動更新サイトのファイルが target/ ディレクトリに生成されているのはわかりますが、それをアーティファクトに変換する方法がわかりません。

私の最終的な目的は、インストールを容易にするために war に埋め込むことです (依存関係プラグインを使用してアーティファクトを解凍します)。

役に立ちましたか?

解決

私は専門家ではありませんが、WebStart アプリを生成するのがこれに対処する「古典的な」方法ではないでしょうか?から ドキュメンテーション:

NBM補給プロジェクト/パッケージングは​​、ローカル/リモートリポーターのNBMファイルから最終アプリケーションを作成し、ZIPファイル(リポジトリにアップロード可能)にバンドルするビルドライフサイクルを定義します。 AutOUPDATEサイトおよび/またはアプリケーションの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>

を参照してください。 自動更新 そして ウェブスタートアプリ 詳細の目標。


しかし、このプラグインは生成するファイルからアーティファクトを作成しません。それが私の問題です...「war」プロジェクトのビルド中に、別の場所で解凍する必要があるためです。

その場合、私は Maven アセンブリ プラグイン 生成されたファイル (zip、tar.gz など) のディストリビューションを作成し、ビルド中にローカル リポジトリにインストールします。次に、次を使用して war プロジェクトからアーカイブを解凍できます。 dependency:unpack.

他のヒント

NBMプラグインの更新サイトの目標は、「POM」パッケージプロジェクトで動作し、Reactorのプロジェクトから更新サイトを作成します。 POMプロジェクトにはアーティファクトが添付できないため、アーティファクトは生成されません。

また、NBMアプリケーションプロジェクトでも動作し、プロジェクトの依存関係を取り、そこから更新サイトを作成します。次に、更新サイトGZIPがメインアーティファクトに添付されます(これはアプリケーションzipファイルですが、作成はパラメーターによって抑制される可能性があります)。このUSECASEをリリースリポジトリを指すNBM Distribution URLパラメーターと組み合わせると、基本的にリリースリポジトリは展開更新サイトと更新サイトのバージョンに等しくなります。明らかに実行中のアプリケーションでは、安定したURLが必要なため、現在の更新サイトをその1つのパブリックURLとシンリンクにsymlinkする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top