問題タブ [maven-shade-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.

0 投票する
0 に答える
2113 参照

maven - 1 つの Jar を生成するための Shade を使用した Maven Assembly PlugIn

私はこの問題を抱えています、これは私のPOMビルド部分です

そして、依存関係を含む1つのJARを生成します。しかし、アセンブリを含む ZIP ファイルを zip に生成すると、. 私は2つのJAR(MyProjectとPOI)を持っています

これは私のアセンブリ部分です:

アセンブリ プラグインを使用して 1 つの JAR を生成するように構成するにはどうすればよいですか? どうもありがとう。

0 投票する
1 に答える
1880 参照

maven - Maven シェード プラグインがファイルをマージしない

私の目標は、2 つの Maven モジュール ( ) にある2 つの XML ファイル (両方とも という名前info.xml) をターゲット WAR アーカイブにマージすることです。src/main/resourcespackaging:jar

proj1: 含むsrc/main/resources/info.xml

proj2: 含むsrc/main/resources/info.xml

web: proj1 と proj2 からマージされた info.xml を含む web プロジェクト。Web プロジェクトでプラグインを宣言しました。

Web プロジェクトとそのモジュールをビルドするために、次のビルド プロジェクトがあります。

mvn clean packageビルド プロジェクトでコマンドを使用してみましたが、その結果、解凍さweb/target/web.warれたライブラリ (あまり必要のない ueber.jar) が含まれており、マージされた info.xml ファイルはありません。

私は何を間違っていますか?!

0 投票する
2 に答える
3069 参照

java - アセンブリ プラグインのような Maven シェード プラグインを使用する

さまざまな Spring モジュールを活用するスタンドアロン アプリケーションをビルドする pom ファイルがあります。特に、統合ファイル モジュールを使用します。もともと、私の pom ファイルは Maven Assembly プラグインを使用していましたが、作成された uber jar は正しく実行されませんでした。さらに調査すると、基本的に uber jar の依存関係を台無しにするアセンブリ プラグインにバグがあることが示されているようです。推奨される回避策は、私のために機能している Shade プラグインです。

ただし、アセンブリ プラグインは、uber jar とその他のリソース (プロパティ ファイル、スクリプトなど) を含む zip ファイルを作成できます。次に、そのzipを使用して解凍し、jarを呼び出して他のアイテムを渡すスクリプトを実行できます(例として)。私が知る限り、shade プラグインはこの追加機能を実行しません。

プロファイルを使用してシェード プラグインとアセンブリ プラグインを組み合わせてみましたが、シェード プラグインを使用して uber jar をビルドし、その後、アセンブリ プラグインを使用して他のもので zip をビルドする方法がわかりません。

誰かが似たようなことをしましたか?Uber jar を作成し、その uber jar をスクリプト、xml、およびその他のアイテムと一緒に圧縮できるようにすればよいだけです。

フェーズにバインドせずにアセンブリ プラグインを実行する方法はありますか? もしあれば、パッケージを実行してシェードプラグインを実行し、その後アセンブリプラグインを個別に実行できますか? 可能であれば、それは私の問題を解決します。

0 投票する
1 に答える
10367 参照

java - マルチモジュール プロジェクトで Maven シェード プラグインを設定するには?

Maven Shade Plugin を使用して jar を取得しようとしていますが、まだ成功していません。

これは私のプロジェクト構造です:

Module1 (pom.xml):

Module2 (pom.xml):

メインモジュール (pom.xml):

このコードによると、2 つの jar ファイル (Module1-version.jar と Module2-version.jar) を取得します。しかし、それは私が望むものではありません。もう一方 (Module1 と Module2) を含む 1 つの jar ファイル (MainModule-version.jar) を取得したいと考えています。

この Shade プラグインが機能しないのはなぜですか?

0 投票する
1 に答える
813 参照

maven - Maven Shade プラグイン + 生の文字列

シェードプラグインを使用して、すべての依存関係を含む jar を作成しています。この構成を pom.xml に適用すると、比較的簡単です。

ただし、結果のコードを逆コンパイルすると、文字列リテラルの内容が変更されていることに気付きました。たとえば、次のような文字列: String text = "this-is-a-demo";になっていString text = "com.company.lib.this-is-a-demo"ます。この変更により、アプリケーションで実行時エラーが発生しました。

この記事https://jira.codehaus.org/browse/MSHADE-104に従って、要素の追加を回避しようとしました<rawString>true</rawString>。しかし、プロジェクトを再度ビルドすると、maven-shade-plugin で NullPointerException が発生しました。

文字列リテラルが変更されないようにする方法を知っている人はいますか?

0 投票する
0 に答える
242 参照

maven - Maven Shade プラグイン SHA1 ダイジェスト エラー

uber.jarを構築しているmaven shadeプラグインを使用するmavenモジュールがあります。モジュール自体にはソースがありませんが、jar (local.jar) をビルドします。mvn install を実行すると、ビルドは期待どおりに機能し、shaded(uber.jar) jar が生成されますが、すべての推移的な依存関係を除外する必要があったため、「minimizejar」を true に設定します。ビルドは空の local.jar を選択し、それを最小化しようとしますが、その過程で例外がスローされます

「シェーディング jar の作成エラー: version.txt の SHA1 ダイジェスト エラー」

これが私のpomのシェードプラグイン宣言です

代わりに local.pom も生成しようとしましたが、今回はシェード ステップで null ポインター例外が発生し、local.jar をシェード プロセスから除外する方法がわかりません。local.jar は空で、署名されていません。

ここで何か助けていただければ幸いです。

0 投票する
1 に答える
544 参照

java - Maven shade - カスタム構成で依存関係の jar を再パッケージ化する

ここに画像の説明を入力

すべての依存関係を含む jar としてパッケージ化された共通サービスがあります。

Consumer1、consumer2、consumer3 は、Common_service に異なる構成を提供します。common_service をすべてのjarコンテンツとともに再パッケージ化し、さらに構成をバンドルする最良の方法は何ですか?

Consumer1 の最終出力は次のようになります。

  • Consumer1-shaded.jar (共通サービスなし)
  • Consumer1-Common-service.jar (カスタム構成の common-service のみ)

Consumer2 は次のようになります。

  • Consumer2-shaded.jar (共通サービスなし)
  • Consumer2-Common-service.jar (カスタム構成の common-service のみ)

common_service を再パッケージ化するために maven shade を試しましたが、consumer に common service のすべての依存関係を明示的に含める必要があります。jar を取得し、構成を追加して再パッケージ化する直接的な方法はありますか?