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

maven - Camel: タイプコンバーターはどのようにロードされますか?

アプリケーションを実行すると、次のmvn compile exec:javaように表示されます。

java -jar(で作成されたuberjar )を実行すると、次のように表示されmaven-shade-pluginます:

違いを確認してください (182 に対する 199)。その結果、コードが期待どおりに機能しない場合があります。

キャメルを使用2.16.1。依存関係の完全なリストが必要な場合はお知らせください。更新します。

UPDATE 1 追加することで解決

私のmaven-shade-plugin構成に。

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

jenkins - ジェンキンスでgradleを使用したuberjarの構築が失敗する

こんにちは、gradle を使用してファット jar を作成しています。ローカル マシンでは正常に動作しますが、Jenkins から実行すると失敗します。

私のローカル gradle バージョンは次のとおりです: GradleVersion.current().getVersion()=2.2.1 Jenkins のもの: GradleVersion.current().getVersion()=2.4

build.gradle は次のようになります

グラドルのバージョンについて何かありますか?

タスクを実行するだけです:クリーンなuberjar

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

java - uberjar の clojure クラスパス ディレクトリ

アプリ内でclojure.java.classpathを使用していますclojure.java.classpath/classpath-directoriesが、uberjar から実行すると の出力が空になるため、どの設定が欠落しているのか疑問に思っています。

これは最小の実例です:

project.clj:

および src/cptest/core.clj:

を実行するlein runと、

で uberjar を作成する場合はlein uberjar

出力は空です。Classpath directories ().

出力jar tf /home/phil/cptest/target/cptest-0.1.0-SNAPSHOT-standalone.jar | grep cptest(完全な出力は非常に長い):

ウパッテ

を調べるclojure/java/classpath.cljと、 への呼び出しが表示されます

(classpath (clojure.lang.RT/baseLoader))次のように定義されたlein runvsuberjarメソッド の動作は異なります。classpath

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

maven - maven shade プラグインから作成された .jar は、src/main/resources の下のリソースにアクセスするとエラーをスローしますが、展開された .jar から main を実行すると機能しますか?

ソリューションの更新された Exec の概要 ビクターから提供された回答に続いて、クラスパス内のフォルダー リソースの内容を一覧表示する Java クラスを実装しました。私にとって最も重要だったのは、IDE、展開された uberjar、または展開されていない uberjar (通常は maven shade プラグインで作成する) から実行するときにクラスパス リソースが検出されたときに、これが機能する必要があるということでした。クラスと関連するユニットここで利用可能なテスト。

元の質問

次のような標準の Maven プロジェクトのディレクトリ構造にアクセスする非常に単純な Java テスト プログラムを実行すると、maven-shade-plugin およびクラス パス リソースで奇妙な動作が見られます。

IDE または展開された Maven シェーディング .jar (以下を参照) から実行すると、 正しく動作します。つまり、次のように出力されます。

ソースは次のとおりです。

ここで、プロジェクトで mvn clean install を実行し、
Maven シェーディング .jar を ${project.dir}target で実行すると、次の例外が表示されます。

Exploded .jar での実行

私はここにプロジェクト全体を持っています: https ://github.com/buildlackey/maven-shade-non-working-example ですが、便宜上、私が試した2つのMavenシェード構成を含むpom.xml(以下)があります。
注: 私のリソースは .jar ファイル内の適切なレベルで表示されているため、IncludeResourceTransformer は役に立たないと思います。

とにかく、あなたが提供できる助けを前もって感謝します〜クリス

アップデート

Spring で試してみたところ、これはうまくいきませんでした (ただし、Spring のアプローチで成功した人がいれば興味があります)。私はすぐに投稿する実用的な代替手段を持っています。しかし、この失敗した Spring の試みを修正する方法についてコメントしたい場合は、非常に興味があります。

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

clojure - lein ラン vs lein トランポリン ラン vs uberjar

と、clojure アプリを uberjar としてデプロイすることlein runの違いは何ですか? lein trampoline run性能差はありますか?

lein run/を実行するlein trampoline runと、アプリを再起動する必要なく、サーバーに ssh して git から変更をプルできますが、uberjar については同じではありません。uberjar の場合、すべての変更に対して、アプリをビルドしてデプロイする必要があります。

前もって感謝します。

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

maven - maven uber war (cargo-maven2-plugin) 最初のみをマージエレメント

Maven uber war cargo-maven2-plugin を使用して、2 つの war と web.xml ファイルをマージしようとしています。すべてのタグ (フィルター、サーブレット) のマージは希望どおりに行われますが、<context-param>RHS の web.xml で定義された最初の要素のみをマージするため、LHS の web.xml のすべての context-param を保持したいすべての<context.param>要素をマージします。 RHS の私の web.xml で定義されています。これが私のコードです

RHS の web.xml

**

  • merge.xml

**

pom.xml

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

gradle - cucumber/groovy のテストと依存関係で構成される uberJar を実行するにはどうすればよいですか

ここに私が達成しようとしているものがあります:

EndToEndFunctionalTests テスト用の uberJar をビルドします。

その結果、私は得る:

EndToEndFunctionalTests-develop.local.SNAPSHOT.jar

だから私がやろうとしているのは、これを次のように実行することです:

main() を偽造して MANIFEST に含める方法があるので、この jar を実行します。

キュウリ ランナーを使用して gradle 経由でコマンド ラインからキュウリ テストを実行できましたが、次の理由により、jar を実行できるようにする必要があります。

  1. このjarにはすべての依存関係があるため、どこでも実行できます
  2. ステージングと QA でこれらのテストの実行時間を短縮します。これは、継続的インテグレーション パイプラインで一度だけ作成し、さまざまな環境で実行する必要があるためです。
0 投票する
0 に答える
518 参照

java - Ant を使用して JavaFX ファット jar を作成する

質問があります。Antを使用してJavaFXアプリ用のファットジャーを作成するには? インターネットにはいくつかのチュートリアルがあることは知っていますが、それはJavaFXアプリではなくJavaアプリに関するものです。このチュートリアルに従おうとしたため、それが違いであると結論付け、Javaアプリで機能しますが、アプリを実行しようとした後にfxmlファイルを使用するJavaFXアプリでは、NullPointerExceptionを返します:場所が必要です(そして、はい、fxmlへのパスを変更しようとしましたファイルを作成し、ClassLoader を使用しても役に立ちません)。AntにもOne Jarプラグインを使用してみましたが、同じ効果がありました。

次の build.xml ファイルがあります。

それを変更して、すべての依存関係を含むファット jar を作成するにはどうすればよいですか? Mavenで作る方が簡単なのは知っていますが、Antでそれが可能かどうか知りたいです。よろしく