問題タブ [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.
maven - Camel: タイプコンバーターはどのようにロードされますか?
アプリケーションを実行すると、次のmvn compile exec:javaように表示されます。
java -jar(で作成されたuberjar )を実行すると、次のように表示されmaven-shade-pluginます:
違いを確認してください (182 に対する 199)。その結果、コードが期待どおりに機能しない場合があります。
キャメルを使用2.16.1。依存関係の完全なリストが必要な場合はお知らせください。更新します。
UPDATE 1 追加することで解決
私のmaven-shade-plugin構成に。
jenkins - ジェンキンスでgradleを使用したuberjarの構築が失敗する
こんにちは、gradle を使用してファット jar を作成しています。ローカル マシンでは正常に動作しますが、Jenkins から実行すると失敗します。
私のローカル gradle バージョンは次のとおりです: GradleVersion.current().getVersion()=2.2.1 Jenkins のもの: GradleVersion.current().getVersion()=2.4
build.gradle は次のようになります
グラドルのバージョンについて何かありますか?
タスクを実行するだけです:クリーンなuberjar
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
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 の試みを修正する方法についてコメントしたい場合は、非常に興味があります。
clojure - lein ラン vs lein トランポリン ラン vs uberjar
と、clojure アプリを uberjar としてデプロイすることlein runの違いは何ですか? lein trampoline run性能差はありますか?
lein run/を実行するlein trampoline runと、アプリを再起動する必要なく、サーバーに ssh して git から変更をプルできますが、uberjar については同じではありません。uberjar の場合、すべての変更に対して、アプリをビルドしてデプロイする必要があります。
前もって感謝します。
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
gradle - cucumber/groovy のテストと依存関係で構成される uberJar を実行するにはどうすればよいですか
ここに私が達成しようとしているものがあります:
EndToEndFunctionalTests テスト用の uberJar をビルドします。
その結果、私は得る:
EndToEndFunctionalTests-develop.local.SNAPSHOT.jar
だから私がやろうとしているのは、これを次のように実行することです:
main() を偽造して MANIFEST に含める方法があるので、この jar を実行します。
キュウリ ランナーを使用して gradle 経由でコマンド ラインからキュウリ テストを実行できましたが、次の理由により、jar を実行できるようにする必要があります。
- このjarにはすべての依存関係があるため、どこでも実行できます
- ステージングと QA でこれらのテストの実行時間を短縮します。これは、継続的インテグレーション パイプラインで一度だけ作成し、さまざまな環境で実行する必要があるためです。
java - Ant を使用して JavaFX ファット jar を作成する
質問があります。Antを使用してJavaFXアプリ用のファットジャーを作成するには? インターネットにはいくつかのチュートリアルがあることは知っていますが、それはJavaFXアプリではなくJavaアプリに関するものです。このチュートリアルに従おうとしたため、それが違いであると結論付け、Javaアプリで機能しますが、アプリを実行しようとした後にfxmlファイルを使用するJavaFXアプリでは、NullPointerExceptionを返します:場所が必要です(そして、はい、fxmlへのパスを変更しようとしましたファイルを作成し、ClassLoader を使用しても役に立ちません)。AntにもOne Jarプラグインを使用してみましたが、同じ効果がありました。
次の build.xml ファイルがあります。
それを変更して、すべての依存関係を含むファット jar を作成するにはどうすればよいですか? Mavenで作る方が簡単なのは知っていますが、Antでそれが可能かどうか知りたいです。よろしく