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

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

maven - maven - 依存関係のある uberjar をビルドする方法

jar ファイルを生成する Maven モジュールがあります。ビルド プロセスの副産物として、いくつかの他の uberjar ファイルを開発するように依頼されました。これらの 2 つの jar ファイルは、maven モジュールの依存関係からいくつかのクラスを含める必要があるアプレット jar ファイルであるとも言われました。

私は周りを見回して、これらの3つのオプションに絞り込みました-

  1. Maven アセンブリ プラグイン - これは、maven モジュールによって生成されたクラスからカスタム jar を構築できます。サードパーティの依存関係を含めることはできません。
  2. Maven を介して ant を使用する - maven-dependency-pluginを使用して依存関係を解凍し、ant スクリプトを介してアプレット jar をパックします。
  3. Maven shade プラグインを使用する- このプラグインは私の要件には直接適していませんが、動作させることができます。

(b) と (c) で動作させることはできますが、どちらを使用するかを決めることができません。私が気付いた重要なことの 1 つは、依存関係プラグインを使用すると時間がかかることです。

人々が同じ要件を達成する他の方法があるかどうかを知りたかったのです。

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

clojure - uberjar プロセスにフックを追加する方法 (lein でビルド)

uberjar プロセスにフックを追加したいと思います。具体的な例としては、maxmind geoip dat ファイルをリソース フォルダーにダウンロードして、展開するたびに更新されたバージョンが jar にバンドルされるようにします。例/提案ありがとうございます!

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

clojure - ソースファイルなしでlein uberjarを作る

「lein uberjar」を使用して、プロジェクトの実行可能な jar ファイルを作成しています。jar は正しく作成され、期待どおりに実行されます。

ソース .clj ファイルを生成された .jar に含めないことが可能かどうかを知りたいだけです。これは、配布する予定であり、ソース ファイルを公開したくないからです。

私はlein 1.7.1を使用しています

lein で不可能な場合、手動で .clj ファイルを jar から削除しただけで機能しますか? テストを行ったところ、うまくいきました。これが安全であることを確認したいからです。

前もって感謝します。

0 投票する
4 に答える
44927 参照

java - Gradle で uberjar をビルドする

プロジェクトのすべての推移的な依存関係を含む uberjar (AKA fatjar) を構築したいと考えています。にどの行を追加する必要がありbuild.gradleますか?

これは私が現在持っているものです:

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

maven - Mavenとfatjarプラグインを使用してSINGLE依存関係をjarに含める方法

この質問については少し愚かですが、SINGLE依存関係(jdom.jar)を別のjarに追加する方法がわかりません。

コンテキスト:アプリケーション用の単純なプラグインを開発しました。このプラグインには多くの依存関係があります。fatjarを使用してjdom.jarを含めていました。このプラグインのバグを修正しようとしているので、同時に「Maven化」することにしました。(Mavenに切り替えたばかりです)このプラグインはランタイムにロードされるため、パッケージ化する必要がある依存関係はjdom.jarのみです。

問題:Maven Fatjarプラグインがあることがわかりました!残念ながら、ドキュメントが見つかりませんでした。このMavenプラグインは、すべての依存関係を出力jarに追加します。何度も試した後、私はこのfatjarプラグインをあきらめて、別のプラグインを探すことにしました。私は1つの瓶、日陰を見つけましたが、それらをざっと読んだ後、それらはすべての依存関係を追加しているように見えます。

質問:次のように、プラグインjarにjdom.jarのみを追加する簡単な方法は何でしょうか。

また、マニフェストまたは出力jarファイル名を変更したくありません

どうもありがとうございました。

0 投票する
7 に答える
119767 参照

java - ウーバージャーとは?

私はMavenのドキュメントを読んでいて、名前に出くわしましたuber-jar

uber-jar意味とその機能/利点は何ですか?

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

java - Having difficulty creating an uber-jar

I'm trying to bundle up a java archive (JAR) with all dependencies self contained. First I tried using the maven assembly plugin though this was missing some classes. The jar-with-dependencies documentation suggests using the maven-shade-plugin, which ends up missing different classes. I think what's happening is that multiple dependencies using the same package names seem to get skipped, so things like slf4j get skipped.

What I'd really prefer is for the packaged jar to contain the libraries self-contained instead of repacking them.

I nearly gave up and figured I'd just use the bin descriptor for the assembly plugin which only zipped up the jar itself and no dependencies.

NOTE: I know that others have asked similar questions, which have resulted in suggestions for using shade/assembly plugins, though none have illustrated the specific problem I am having.

UPDATE: Requested by khmarbaise the following shows one POM where ALL classes get skipped. Note that there is another JAR which uses the same package structure but is the localised bundle, localised bundles are included but all classes are omitted.

Note that the above POM is a third-party library that does not publish to maven and only exists in our local nexus repo.

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

java - uberjar としてデプロイされたライブラリを使用するにはどうすればよいですか?

Uber-jar として提供される Reflections 0.9.8 ライブラリを使用しようとしています。その JAR ("reflections-0.9.8-uberjar") をプロジェクトのビルド パスに追加すると、Eclipse はそのクラス タイプ (Reflection、ClasspathHelper など) を見つけられません。

単一の「reflections-0.9.8.jar」(uberのものではない)を抽出してビルドパスに追加すると、コンパイル時にすべて正常に動作しますが、プロジェクトを実行するとNoClassDefFoundErrorが発生します(これは私が依存関係の欠如が原因であることは間違いありません)。

また、uber-jar 内にすべての .jar を追加しようとしましたが、それでも NoClassDefFoundError が発生します。

uberjar として配布されているこのライブラリを使用するには、どうすればよいですか?

編集: それが役立つ場合、これはリフレクションを呼び出したいメソッドです(リフレクションを使用してパッケージ内のすべてのクラスを見つけることができますか?から取得したスニペットです):

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

swing - Leiningenで作られたuberjarで消えるアイコン

私はClojureで、いくつかのアイコンが付いたいくつかのJButtonを含む単純なSwing guiを使用してファンキーなアプリケーションを作成しました。また、プログラマー以外の友人にも使用できるようにしたいと思います。

「leinrun」で起動すると、自分のコンピューターではすべて正常に動作しますが、「lein uberjar」でパッケージを作成して実行すると、アイコンが消えてJButtonが空白のままになります。

アイコンは、プロジェクトルートの「resources」フォルダーにある.pngであり、パッケージ化後に.jarに表示されます。アイコンをロードするには、次のようにします。

私は、何が起こっているのかを確認するために、小さな印刷ステートメントを入れようとしました:

'lein run'を実行すると、次のように出力されます。

パッケージ化された.jarで「java-jar」を実行すると、次のように出力されます。

これはまさにfoo.pngが存在する場所です(感嘆符で何が起こっているのか完全にはわかりませんが)が、SwingGUIにはまだ描画されていません。

また、project.cljのresourcesフォルダーを明示的に指定してみました。

しかし、それは何も変わりません。

つまり、基本的に私の質問は次のように要約できます。「lein uberjar」を使用して、カスタムpng画像を含むJButtonを使用して動作するhello-world.jarを作成するにはどうすればよいですか。

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

ant - Ant: 作成方法からのファイルを含む?

次のようなAntpath要素があるとします。

すべてのファイル名を再度入力せずjarに、すべてのファイルを含むuber- を作成するにはどうすればよいですか? path以下は機能しますが、重複したコードが含まれており、私が望むものではありません: