問題タブ [uberjar]
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.
gradle - 競合する依存関係を持つ Gradle シャドウ jar
サービス用の uber jar を作成するというアイデアで遊んでいますが、競合する依存関係を持つ jar を含めることについて心配しています。jar A が slf4j-1.0 に依存し、jar B が slf4j-2.0 に依存し、1.0 と 2.0 の間に大きな変更があった場合はどうなりますか? これらの jar が両方とも uber jar に含まれる場合、名前空間ごとに特定のフィルターを作成する必要がありますか、または jar を名前空間化するシャドウ プロセス中に何かが発生しますか?
助けてくれてありがとう
maven - 既存の uber jar で mvn shade を実行する
既に生成されている uber jar があります (Maven 経由ではなく、jar を持っているだけです)。依存関係の競合がある別の jar と一緒に使用する必要があります。公開する必要があるいくつかのクラスを除いて、最初の uber jar のすべてのライブラリをシェーディングしたいと思います。
既存の jar を取得し、Maven シェード プラグインを使用してそのクラスのほとんど (ホワイトリストを除く) の名前を変更し、新しい uber jar を生成するためのセットアップは何ですか?
java - maven-shade-plugin には、uber jar 内の他のモジュールの依存関係が含まれていません
私の問題の概要: マルチモジュール プロジェクトでは、モジュールの 1 つが別のモジュールに依存しています。を使用してこのモジュールの uber jar をビルドするとmaven-shade-plugin
、すべての依存関係が正しく含まれますが、他のモジュールの依存関係は含まれません。
次のアーキテクチャのマルチモジュール プロジェクトがあります。
module_2
module_1
pom.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 で宣言されます)
javafx - USBからのJavaアプリケーションの実行
クロス プラットフォーム (vista、xp、mac、Linux) を構築しようとしています。アプリケーションを FAT-32 でフォーマットされた USB ドライブに入れる必要があり、どの OS コンピューターでも実行できるはずです。Java/JavaFx を使用してそれを行う予定です。
複数のプラットフォームで実行する方法についてのアドバイス。
こんにちは、上記の要件に対する uber-jar の使用について誰でもアドバイスできますか。ぴったりではないでしょうか。
java - 依存関係を含む実行可能 jar を実行しようとすると UnsatisfiedLinkError が発生する
私のJavaプロジェクトには多くの依存関係Box2d
がOpenGl
ありOpenAl
ます.
注: の下部に依存関係がリストされていますが、ここでは除外されています。plugin
pom.xml
pom.xml
このドキュメントに従って開始しました: http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html
を実行するmvn package
と、 ajar
が作成されます。つまり、target/test-0.1.jar
実際にはすべてのjar
依存関係が含まれており、パッケージのルートにネイティブ.so
と.dll
ライブラリが含まれています。
しかし、CLI からアプリケーションを実行しようとすると、UnsatisfiedLinkError
例外が発生します。
で何か不足していpom
ますか?
java - tools.jar を uberjar に含める方法 (maven-shade-plugin を使用)?
pom.xml:
mvn install
正常に完了します (つまり、maven はtools.jar
ビルド中に依存関係を認識します) が、実行時に
clojure - Leiningen、repl、uberjar: シンボルを解決できません。そのような変数はありません
私のlein 新しいアプリプロジェクトは Light Table 内で陽気に実行されますが、lein uberjarは機能しません。奇妙なことに、これは従来の Pascal コンパイラとまったく同じように動作します。つまり、定義の前に参照を解決することはできません。別の好奇心: 昨日はうまくいきました。私は敏感なものでだまされていることに気づいていません。
Google によると、このような症状は非常にありふれたものです。私は、同じ (?) 苦境にある他の人々を助けようと試みましたが、役に立ちませんでした。ところで、彼らは通常、ソフトウェアのバグのせいにしています: 「Leiningen と Clojure の最新バージョンを入手してください」。私は 2.5.0 と 1.6 を持っています。
プロジェクト (メイン ファイル)はこちら です: https://github.com/Tyrn/pcc/blob/master/src/pcc/core.clj -main 関数をファイルの先頭に移動すると、「No such var」が-main 内の cli-optionsに発生します。名前空間の明示的な使用をいくらいじっても、違いはありません。
繰り返しますが、ライト テーブル内ではすべて正常に動作します。
maven - 除外されたアーティファクトの依存関係をハーコーディングする Shade プラグインも
次のシェードプラグイン設定があります:
XXXX:client が maven 依存関係から除外されていることがわかりますが、生成されるその pom では、依存関係がバージョンでハードコーディングされていることがわかります
依存関係を完全に削除する方法、またはハードコードされたバージョンを削除する方法はありますか?
clojure - leiningen でのコンパイルから特定の clj 名前空間を除外する
を使用して正常に動作するプロジェクトがありlein run
ます。を使用してスタンドアロンの jar にコンパイルしたいと思いますlein uberjar
。src/projectname/
ただし、私のディレクトリにはegという名前のソースファイルがいくつかあり、playground.clj
emacsstats.clj
とreplの実験に使用しますが、最終プロジェクト用にコンパイルしたくありません。
のようなものmake
で、コンパイルする必要があるすべてのファイルを指定します。clojure/leiningen では、すべてのファイルがデフォルトでコンパイルされるようです -どうすればファイルを除外できますか? ライニンゲンのドキュメントには何も見つかりませんでした。
私は現在使用して:aot :all
います。ここは何かを変える場所ですか?繰り返しますが、これに関する詳細なドキュメントは見つかりませんでした。
アップデート:
これまでの提案は機能していません。ただし、コンパイルしてはならない名前空間を除外するのではなく、必要なすべての名前空間を含めることでうまくいきました。例えば:
java - Maven依存関係としてのMaven Uberjar
私は現在、プラグインを構築するプロセスで約 150 の非 Maven (アリだと思いますか?) jar ファイルに依存関係を追加する必要があるレガシーアプリを使用しています。理想的には、これらの 150 個の jar を単一の JAR にパッケージ化して Artifactory に配置し、それを Maven 依存関係として使用して、私のチームが開発環境をより簡単にセットアップできるようにしたいと考えています。
私は one-jar、maven-assembly-plugin、および maven-shade-plugin を試してきました。これは、他のいくつかの jar を含む 1 つの jar を作成するだけのようです (つまり、コンテンツを解凍します)。ただし、その jar を maven 依存関係として追加すると、maven はこれらの「サブ jar」内のコンテンツ/依存関係を解決できないように見えます。
以下のコードは、私が試したことのほんの一例です。他のアプローチを自由に提案してください。