問題タブ [maven-webstart-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - Maven に JNLP バージョンの命名規則を使用させるにはどうすればよいですか?
ウェブスタート アプリの 1 つのダウンロード サイズを縮小する任務を負っています。ダウンロードのかなりの部分は jar ファイルのすべての大規模なライブラリからのものであり、それらの多くをめったに更新しないため、ダウンロードはJNLP バージョン ダウンロード プロトコルを使用して大幅に削減されるようです。これにより、アプリの新しいバージョンがリリースされたときに、同じ jar の継続的な再ダウンロードが停止するはずです。
これで、プロジェクトはmavenでビルドされました。プロセスの一部として、ベロシティ テンプレートから JNLP ファイルが自動的に生成されます。JNLP ファイルのリソース セクションには、maven によって渡されると想定される $dependencies 変数が入力され、次のようになります。
Maven は標準の命名規則を使用しており、プロジェクトの pom ファイルから artifactId および version タグから jar 名を作成しているようです。
代わりに JNLP 命名規則を使用するにはどうすればよいですか?
速度テンプレートを変更して $dependencies 変数を切り取り、それを JNLP 規則と再結合することができますが、実際の jar 名も変更する必要があるため、これは必要なものの半分にすぎません。
java - maven-webstart-plugin は特定の推移的な依存関係を除外します
私は maven-webstart-plugin を使用して、2 つの実行として構成された 2 つの JNLP (jnlpA と jnlpB) を生成しています。プロジェクトには、2 つの依存関係があります。
- dependencyA.jar (一部のコモンズと、A1.jar、A2.jar、A3.jar などのコモンズに依存するもの...)
- dependencyB.jar (B1.jar、B2.jar、B3.jar などのいくつかのコモンズとその他のコモンズに依存します)。
jnlpA が依存関係として dependencyA.jar、commons と A1.jar、A2.jar、A3.jar... を持っている必要があります。 maven-webstart-plugin でこれを行う方法がわかりません。
私はこれを試しました:
「excludeTransitive」というプラグイン プロパティを false (デフォルト) に使用します。この場合、両方の JNLP にすべての依存関係があります。
「excludeTransitive」を true に変更します。この場合、両方の JNLP は依存関係として依存関係 A.jar と依存関係 B.jar のみを持ちます。
「excludeTransitive」を false (デフォルト) にすると、各実行でプラグインが使用できるようにするオプション exclude と include を使用します。
- jnlpA の実行で exclude を使用し、dependencyB.jar を除外すると、jnlpA は依然 B1.jar、B2.jar として依存関係を持ちます... IE は依存関係のみを除外し、そのすべての推移的な依存関係は除外しません。
- jnlpA の実行で include を使用し、dependencyA.jar をインクルードすると、A1.jar、A2.jar... はインクルードされません。IE にはこの依存関係のみが含まれ、すべての推移的な依存関係は含まれません。
したがって、私の問題は、実行に依存関係を含めるか除外する必要があることですが、そのすべての推移的な依存関係があります。
オプション 3 を試していたときのポンポンの例は次のとおりです。
java - テスト範囲の依存関係を含む webstart-maven-plugin
マルチモジュールプロジェクトでは、次のように構成された ProjectA の pom で ProjectB (メインとテスト) に依存しています。
webstart-maven-plugin を使用してプロジェクトをパッケージ化しようとすると、test-jar が lib ディレクトリから除外されます。それを含める方法はありますか?
プラグイン ログには、test-jar 依存関係がスキップされていることを示す次の行が含まれています。
ありがとう。