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

java - ベースディレクトリにdependency-reduced-pom.xmlを追加するMavenシェードプラグイン

Mavenシェードプラグインは、 dependency-reduced-pom.xmlおよびartifactname-shaded.jarというファイルを作成し、それらをベースディレクトリに配置します。

これはバグですか?ターゲットディレクトリにある必要があります。回避策はありますか?

0 投票する
5 に答える
51462 参照

java - 実行可能jarの実行中のSpring Circularプレースホルダー参照

実行可能な jar ファイルを実行しようとすると、「循環プレースホルダー参照」例外が発生します。詳細な例外は次のとおりです。

これは、外部プロパティ ファイルを使用して起動時に値を読み取る Spring アプリケーションです。これがスプリングの定義です。これは今までかなりうまくいきました。

jar ファイルを生成するために shade プラグインを使用しています。ここにスニペットがあります

p>

他の実行可能 jar ファイルで以前に同様のパターンを使用したことがあるため、この問題の原因はわかりません。

任意のポインタをいただければ幸いです。

ありがとう

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

maven - cxf jar を使用したキャメル プロジェクトのパッケージ化

私は Camel を調べ始めたばかりで、すぐに使用できるいくつかの例から始めました。mvn を使用するとうまく機能しますcamel:run。また、これを 1 つの uber jar としてパッケージ化して、コマンド ラインから実行できるようにしようとしています。

jar をビルドするために Maven シェード プラグインを使用しています。実行しようとすると、次のエラーが発生します。

私はこれらの依存関係と他のいくつかの依存関係を持っています:

Maven シェード プラグイン内でトランスフォーマーを定義する方法は次のとおりです。

何が欠けているのかわからない。誰かがこの問題を解決するのを手伝ってくれますか? 代替手段があれば教えてください。

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

maven - Mavenシェードプラグインの警告:重複があります-修正方法は?

これは私のプロジェクトのPOMです(貼り付けへのリンクなので、右クリックして> pom.xmlとして保存できます)

FAQで宣伝されているようにデフォルトのjarプラグインを構成するというアドバイスに従いましたが、それでも実行するとmvn package約20Kの警告が発行されます。ランニングmvn cleanも役に立ちません。

この回答によると、いくつかの依存関係を手動で除外することができます。ただし、それが正しい方法かどうかはわかりません。また、依存関係ツリーはかなり複雑であるため、どこから始めればよいかを議論するのは困難です。

私はこれらの問題が有害ではないことを知っていますが、私は警告を修正しなければならないものとして扱うことに慣れています。さらに、私はMavenの初心者なので、理解のどこが悪いのか、問題のトラブルシューティング方法を理解したいと思います。

(Mavenアセンブリプラグインの使用はここではオプションではありません)

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

java - Maven シェードが XML スキーマ名前空間の Spring NamespaceHandler を見つけられない

私はroo 1.2.2で起動した小さなSpringプロジェクトを持っています

Eclipse Juno 内でメイン クラスを問題なく実行できます。しかし、でビルドされた JAR ファイルを実行しようとするとmvn package、次のエラーが発生します。

次の構成で、Maven shade プラグインを使用して uber JAR をビルドしています。

私が持っている pom.xml プロパティ<spring.version>3.1.2.RELEASE</spring.version>で、依存関係の1つは次のとおりです。

アプリケーション コンテキスト ヘッダーは次のとおりです。

私のメインプログラムには次のものがあります。

入力するmvn packageと取得します

欠けているものと、JAR を実行できるようにビルドを修正する方法を誰でも提案できますか?

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

maven - dependency:tree とは異なるバージョンの Maven パッケージが表示されます

私はこれに似た依存構造を持っています:

つまり、私のプロジェクトは、Guava 13.0 と BoneCP (Guava r06 に依存) に依存する A に依存しています。

実行すると、次のようmvn clean dependency:tree | grep guavaに表示されます。

Mavenの依存関係の解決を理解している限り、これは起こるはずのことです。

ただし、mvn clean package結果のjarを実行して解凍すると、Guava r06が含まれているようです。A では、r06 ではなく Guava 13.0 にある機能に依存しているため、ランタイム エラーが発生します ( java.lang.NoClassDefFoundError: com/google/common/collect/Table)。

シェード プラグイン (1.4) を使用して、すべての依存関係を含む jar を作成しています。mvn --versionこれが(この問題が発生しているビルドサーバーでの)結果です。

別のマシン (私のローカル ワークステーション) では、パッケージ化された jar に、予想どおり Guava 13.0 が含まれています。そのマシンのバージョン情報は次のとおりです。

Maven 2.2.1 から 3.0.4 への変更により、依存関係解決戦略が変更されましたか? ここで何が起こっているのですか?

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

java - Shade プラグインなしで DropWizard をコンパイルするには?

DropWizard プロジェクトを機能させようとしていますが、100 万回の重複依存エラーが発生せずにコンパイルできません。エラーは Shade プラグインと私の com.thinkaurelius.titan プラグインが原因です。Titan は、Shade を使用するとエラーが重複しないようにコンパイルすることを拒否するため、Shade を削除したいと考えています。

Shade を使用せずにプロジェクトをコンパイルしようとすると、Java はメイン メソッドを含むクラスを見つけることができません。

何か案は?:)

ありがとう。

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

java - JAR 内から *.exe ファイルを実行する

Maven Shadeプラグインで作成した巨大な JAR ファイルがあります。

これを で実行するjava -jar foo.jarと、UI が開きます。*.exeそのJARファイルにもあるファイルを実行したいのですが、どうすればいいですか?

exeをクラスパスに配置してそこから実行しようとしましたが、試してみたところ、クラスパスが実際には私のJARがある場所であることがわかりました。

助言がありますか?

ここでこれを見つけましたが、これは本当に最善の解決策ですか? かなりの作業のように思えますが、exe の場所を自分で定義でき、JAR は自分で作成できるため、ここではケースが異なると思います。

jar内にパッケージ化されたexeを実行します

なぜこれが必要なのですか?

ユーザーが実行できる単一の実行可能ファイルをユーザーに提供したいのですが、私のプログラムは *.exe を使用しています。jar の横に exe を配置する必要があります。ファイルは 2 つになりますか、それとも要件に対する解決策がありますか?

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

java - Spring、Hibernate は Maven Shade JAR 内のすべての jar をチェックします

から私のjarを実行すると、これらの行が数千にjava -jar foo.jarなるため、アプリケーションの起動には少なくとも1分かかります。

Maven Shade を使用して JAR を作成しています。

Spring と Hibernate の構成:

POM によってダウンロードされたすべての JAR を検索しないようにフィルターするにはどうすればよいですか?

編集:

フルスプリング構成:

完全な永続性:

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

java - Maven shade プラグインによってビルドされた無効または破損した JAR ファイル

既存のアプリケーションに Maven jFree 依存関係を追加した後、作成した jar を実行できません。

私が得る唯一のエラーメッセージは次のとおりです。

完全pom.xmlなものは次のようになります。

jar を実行しても、他のデバッグ情報は得られません。

jarfile を検証するオプションはありますか? それともjava -verbose…のようなものを持っていますか?

再現する手順:

  1. 新しいフォルダを作成する
  2. 上記の Pom.xml をフォルダーにコピーします。
  3. 小さな `public static void main(...) を保存します。src/main/java/com/mycompany/test/Start.java に
  4. 実行するmvn clean package
  5. 実行するjava -jar target/com.mycompany.test-1.0.0-SNAPSHOT.jar

添付資料 1:

編集1:

問題を特定するために、いくつかの依存関係を削除し始めました。しかし、私は何がうまくいかないのかを明確に理解していません。

これで、Apache POI の依存関係を一番上に移動すると問題が解決することがわかりました (pom.xml のヒント B を参照)。しかし、それでも私はその理由と何が問題なのかわかりません。