問題タブ [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 投票する
3 に答える
9345 参照

java - Maven で jar をシェーディングできない (INVOKESPECIAL/STATIC)

完全なエラー メッセージ:

プロジェクトで目標 org.apache.maven.plugins:maven-shade-plugin:2.3:shade (デフォルト) を実行できませんでした --: シェーディング jar の作成中にエラーが発生しました: インターフェイスの INVOKESPECIAL/STATIC には ASM 5 が必要です -> [ヘルプ 1]

シェーディングしようとしている jarfile は、sonatype nexus を使用して、自分のリモート リポジトリにあります。これが私のpom構成です:

エラーを探し回ってもほとんど結果が得られませんでした。収集した情報の主な部分は、Java 8 の静的インターフェイス メソッドがこれを引き起こす可能性があるというものでしたが、それ以上のものは見つかりませんでした。シェーディングしようとしている jarfile には実際にこれらの静的メソッドの 1 つがありますが、それでも確実にそれらを使用して jar をシェーディングできる必要がありますか? 「ASM 5」(アセンブリ?)が必要なエラーの意味がわからないので、どんな指示でもいただければ幸いです。

私の効果的なポン ( mvn help:effective-pom):

完全なMavenスタックトレース:

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

java - Maven シェード コピー WEB-INF

maven-shade-pluginを使用して、次のようにプロジェクト ファイル構造を作成しようとしています。

ここに画像の説明を入力

問題は、次の pom 構成が WEB-INF ディレクトリを作成していないことです。

基本的に、web.xml ファイル、クラス、および lib ファイルを、プロジェクトのルートにある WEB-INF というディレクトリにコピーする必要があります。

更新:申し訳ありませんが、間違ったプラグインを pom から元の質問にコピーしました!

更新: pom 宣言からパッケージを追加すると<packaging>war</packaging>、OQ に従って WEB-INF ファイル構造が完成します。ただし、この宣言では、comディレクトリにパッケージが含まれていないため、メイン クラスが見つかりません。

でどのように見えるか<packaging>war</packaging>:

ここに画像の説明を入力

どのように見えるか:

ここに画像の説明を入力

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

scala - Scala と sbt から Maven の shade プラグインを使用する

いくつかの依存関係のいくつかの癖のために、私は に問題がありsbt-assembly、Java で作業している人々が Maven のシェード プラグインで良い結果を出していると言われました。

Scala / sbt に Maven の shade プラグインを使用するにはどうすればよいですか?

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

maven - 既存の uber jar で mvn shade を実行する

既に生成されている uber jar があります (Maven 経由ではなく、jar を持っているだけです)。依存関係の競合がある別の jar と一緒に使用する必要があります。公開する必要があるいくつかのクラスを除いて、最初の uber jar のすべてのライブラリをシェーディングしたいと思います。

既存の jar を取得し、Maven シェード プラグインを使用してそのクラスのほとんど (ホワイトリストを除く) の名前を変更し、新しい uber jar を生成するためのセットアップは何ですか?

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

java - maven-shade-plugin には、uber jar 内の他のモジュールの依存関係が含まれていません

私の問題の概要: マルチモジュール プロジェクトでは、モジュールの 1 つが別のモジュールに依存しています。を使用してこのモジュールの uber jar をビルドするとmaven-shade-plugin、すべての依存関係が正しく含まれますが、他のモジュールの依存関係は含まれません。


次のアーキテクチャのマルチモジュール プロジェクトがあります。

module_2module_1pom.xml で宣言されている への依存関係があります。

の uber jar を作成したいのですが、次の宣言でmodule_2を使用します。maven-shade-plugin

これにより、uber jar が生成されます。

  • のすべての依存関係を含むmodule_2
  • の瓶を含むmodule_1
  • の依存関係を含まないmodule_1

すべての依存関係も含めるように指定する方法はありますmodule_1か?

私が見つけた解決策は、 を使用しmaven-shade-pluginて uber jar も作成するmodule_1ことです。この jar は の uber jar に含まれているため、module_2機能します。module_1しかし、依存関係を含まない単純な jar ファイルをリリースできるようにするために、この解決策は避けたいと思います。

そして、 (最終的なjarに含まれるファイルをより適切に制御するために)maven-shade-pluginではなくを使用したいmaven-assembly-plugin


@ user2321368 による詳細のリクエストに続いて

Maven バージョン: Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)

module_1 の pom.xml にその依存関係を含めます: (スコープとバージョンは、依存関係管理セクションの親 pom で宣言されます)

0 投票する
3 に答える
3186 参照

maven - ライブラリをコンパイル、実行、テストに含め、アセンブリ/パッケージングには含めないようにmavenで依存関係スコープを定義する方法は?

ローカルでのデバッグとクラスターへのデプロイの両方が可能な Apache Spark アプリケーションを構築しています。これを行うには、spark-core (Java/scala ライブラリ) への依存関係を定義して、次の要件を満たす必要があります。

コンパイルに含まれる (コンパイルが失敗する) 実行とテストに含まれる (ローカル デバッグと単体テスト用) アセンブリに含まれない (提供されたスパーク コアを使用してクラスターにデプロイする場合、これにより jar サイズが 70M 減少します。 maven-assembly を使用して解決できないいくつかの jar の問題があるため、包括的な jar を生成するための maven-shade プラグイン)

残念ながら、カスタム スコープは maven でネイティブにサポートされていないようです。いくつかのプラグインを使用して有効にする方法はありますか?

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

hadoop - maven-shade-plugin と maven-assembly-plugin の比較

spring-data-hadoop を使用して Hadoop MR ジョブを作成し、maven-shade-plugin を使用して必要なすべての jar をパックしました。しかし、コマンドライン:hadoop jar からジョブを実行すると、Spring-Bean の ClassNotFound の例外が発生しました。Spring アプリケーション コンテキストの読み込みで発生する問題。その後、maven-assembly-plugin を使用し、必要なすべての jar を lib フォルダーにパックしました。今回はうまくいきました。

なぜmaven-shade-pluginで失敗したのか理解できません。誰かが私の観察を理解するのを手伝ってくれますか?

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

maven - maven-shade-plugin を使用しますが、依存関係クラスは最終的な jar にありません

私のプロジェクトの pom.xml には、次の依存関係があります。

com.my.library:MyLib上記の依存関係のクラスを含むプロジェクトの最終ビルド jar を作成したいので、次のようにmaven-shade-pluginを使用しました。

次に、 を実行するmvn clean installと、プロジェクトが正常にビルドされました。

しかし、ディレクトリの下のMyProject.jartarget/の内容を確認すると、依存関係からのクラスが含まれていませんcom.my.library:MyLib。なぜですか? maven-shade-plugin のどこが間違っていますか?