1

プロジェクトをMavenに移動し、最終的にはOSGiに移動します。私は現在、プロジェクトを配布しているのは、すべての依存関係を持つ大きなZipファイルです。私のプロジェクトコードはパッケージ全体のわずか20%ですが、すべての依存関係を再配布する必要があります。独立したモジュールが小さい場合、これはさらに少なくなる可能性があります。

ここでスタックオーバーフローを見ると、現在の計画を維持するには、maven-assembly-pluginでうまくいくはずです。

XMLマニフェストを調べてから、更新が必要なすべてのライブラリを収集するベースインストーラーを用意することを検討していました。これは、時々変更されるライブラリがダウンロードされる頻度が少なくなることを意味します。これは、OSGiプラグイン(独立したリリーススケジュールを持つ可能性がある)のようなものにもなります。本質的には、ソフトウェアで個々のライブラリを検索および管理し、オンデマンドで(マニフェストに基づいて)ダウンロードする必要があります。

このマニフェストを生成し、すべてのライブラリをWebサイトに公開する「Mavenの方法」があるかどうか疑問に思いました。デプロイのライフサイクルが2番目のステップになると思います。

別の方法として、このタイプのデプロイメントを行うOpenSource Javaライブラリはありますか?分散コードにMavenなどの大きなものを埋め込みたくありません。このアプリケーションはコーダー向けではなく、シンプルであるほど優れており、インストーラーが小さいほど優れています。

4

4 に答える 4

1

1 つ目: Web Start で問題を解決できる可能性があります。そして、これがmavenプラグインのドキュメントです。

2 番目:

  1. 次のようなキーストアを作成します。

    keytool -genkey -alias timefinder -keystore timefinder.jks

  2. このような jnlp テンプレートを作成します

  3. 例については、私のpom.xmlの下部を見てください

  4. 次の方法でmavenを呼び出します。

    mvn install webstart:jnlp

利点:

  • それはあなたのためにすべてを行います
  • pack200 ファイルを作成できます (非常に圧縮された jar)
  • ダウンロード サーバーにサーブレットがインストールされている場合は、オンデマンドでダウンロードを処理します。詳細はこちら

短所:

  • セットアップ時間ですが、一度行ったら。それは魅力のように機能します。このプラグインを使用するtimefinderのwebstart バージョンを参照してください

別の配布オプションは1 つの jarである可能性があります

于 2009-12-19T15:05:20.953 に答える
1

これはJava Web Startの完璧なケースのようです。特に、Web サーバーへの依存関係を維持することを既に考えている場合は特にそうです。Maven に WS プラグインがあるかどうかはわかりません。仕事をするために Maven 1 のコードを書いたことを覚えています。

WebStart の動作を見たい場合は、FindBugs のデモ ページをお勧めします: http://findbugs.sourceforge.net/demo.html -- 2 番目の段落にリンクがあります。

于 2009-12-01T13:03:41.663 に答える
0

あなたが説明している最初のことを行うためのMavenの方法がわかりません(これは、これに何もないという意味ではありません)。

別の方法として、IzPack (これは本当に優れたソフトウェアです) とIzPack Maven プラグインを使用して、クロスプラットフォーム インストーラーを生成し、それを Maven リポジトリーにインストール/デプロイします。

編集: 高度な機能呼び出しWeb Installersを見てください。ただし、問題が完全に解決するとは思いません(更新/再インストール間で変更されたもののみをダウンロードします)。

于 2009-12-01T00:41:26.617 に答える
0

Maven バージョン プラグインを使用して、依存関係のバージョンを確認および/または更新できます。

于 2009-12-03T01:58:08.293 に答える