問題タブ [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.
plugins - 実行可能 jar にパックした後の FileNotFoundException
maven shade プラグインを使用して実行可能な jar を実行した後、FileNotFoundException が原因でアプリケーションが失敗しました。アプリケーションの開発中に、ファイルを src/main/resources に配置したため、パスは「src/main/resources/maps/map.shp」のように定義されました。コード内のすべてのパスを変更する必要がありますか?また、どのように変更すればよいですか? なぜこれが起こるのですか?
maven - Mavenビルド[警告]重複するクラスがあります
誰かが私のMavenビルドに何が起こったのか知っていますか?重複する警告がたくさん表示されます。
ローカルのm2リポジトリを調べましたが、commonsにはlogging-api jar、LogFactoryImpl.classとLogFactoryImpl$1.classの2つのクラスがあります。警告に記載されているすべてのクラスと同じです。
言及すべきことの1つは、pom.xmlでシェードプラグインを使用していることです。
依存関係ツリーが次のようになっていることに気づきました
commons-logging.jarとcommons-logging-api.jarの両方にorg/apache / commons / logging/LogFactory.classがあります。
どういうわけか、Shadプラグインは最後にそれらを大きな太い瓶に押し込もうとしています。その後、警告が表示されます。これは無視できる警告だと言われています。しかし、私は少し心配しています。同じ名前の重複したクラスが2つある場合、アプリケーションはどのようにして正確なクラスを使用する必要があるかを知ることができますか?
java - maven-shade-pluginによって作成されたJarにテストクラスを含めるにはどうすればよいですか?
Mavenを使用して、依存関係のある実行可能jarにテストクラスをパッケージ化しようとしていますが、これを正しく行うのに苦労しています。
これはこれまでの私のpom.xmlです:
ビルドを実行するmvn clean package
と、3つのjarが作成されます。
- 実行可能ファイル-tests-1.0.jar//mvnパッケージフェーズでビルド
- 実行可能ファイル-tests-1.0-teststjar//jar-pluginによってビルドされます
- cucumber-tests.jar//シェードプラグインでビルド
Cucumber-tests.jar
依存関係は含まinfo.cuke
れていますが、は含まれていませんexecutable-tests-1.0-tests.jar
。
テストクラスを含めるためにさまざまなことを試しましたが、何も機能しませんでした。何が欠けていますか?
編集:誰かがそれで遊んでいるのが好きなら、私は私のサンプルプロジェクトをGitHubにプッシュしました:) https://github.com/C0deAttack/ExecutableTests
maven - src/main/webapp を含めるように maven-shade-plugin を構成します
標準の場所 (src/main/webapp) にある webapp ディレクトリを使用して、単純なプロジェクトで作業しています。何らかの理由で、maven-shade-plugin は最終的に生成された jar にそれを含めないように見えます - デフォルトではアーティファクト src/main/resources のみが含まれます。次の構成を使用しようとしましたが、うまくいきませんでした。
src/main/webapp を src/main/resources/webapp に移動せずにそれを行う方法に関する提案はありますか?
ありがとうございました。
オイゲン。
spring - Spring3NamespaceHandlerのMavenShadeプラグインに関する問題
Spring 3.1.1.RELEASE with ApacheMaven3.0.3およびMavenShadeプラグイン1.6。
mvnシェードプラグインを使用して、依存関係を含むアーティファクトをuber-jarにパッケージ化します。
パッケージ化は問題ないようですが、実行時にSpringNamespaceHandlerの問題について不平を言います。
これはutilとp-namespacesの両方に適用されますが、これらに限定されないことを期待してください。
プロパティまたはリスト(util)を手書きで書き直すと、問題は解消されます。
java - Maven と Subetha SMTP および LOG4J を使用して実行可能な uber jar をビルドする際の問題
私は Maven を初めて使用し、[Subetha SMTP ライブラリ][1] を使用するアプリケーションを作成し、アプリ全体を 1 つの実行可能アプリにパッケージ化しようとしています。
パッケージングを行うために [Mavens Shade プラグイン][2] を使用しようとしていますが、Subetha SMTP が使用/インクルードしているライブラリの 1 つで問題が発生しています。
プロジェクトはうまく構築されているようです:
しかし、実行すると次のようになります。
エラー メッセージは、SL4J jar をクラスパスに配置するように指示していますが、これは試しましたが、問題は解決しません。
プロジェクトの pom.xml を次に示します (問題の原因である slf4j を指定することと、削除することの両方を試みました)。
作成された JAR ファイルの内容は次のとおりです。
maven - Maven Shade プラグインを使用して実行可能な JAR を作成する
単純な Java プログラムから実行可能な jar を作成するのに問題があります。
これらの Maven の指示に従い、以下を変更しましたpom.xml
。
install
目標を実行すると、次の行を読むことができます。
しかし、その場所で見つけることができるのはproject-1.0.0.jar
、実際には依存関係を含み、適切なサイズの .jre で実行しようとすると、次のように表示されます。
したがって、何も実行されません!
jar を適切に実行するにはどうすればよいですか?
助けてくれてありがとう!
maven - maven-shade-plugin:圧縮をオフにする方法は?
Shadeプラグインを試しましたが、生成されたjarは常に圧縮されています。
jar圧縮をオフにする方法は?
これがpomです:
ありがとう
ファブリス
java - mavenでSpringベースの実行可能なjarファイルを作成するには?
単一の jar としてパッケージ化したい Maven ベースの Spring-WS クライアント プロジェクトがあります。日食では、すべてが適切に実行されます。実行可能 jar としてパッケージ化しようとすると、Spring jar がアプリケーション jar に含まれていないため、ClassNotFound 例外が発生します。
そこで、maven-shade-pluginを追加して、すべての依存関係をアプリケーション jar に含めました。アプリ jar を見ると、含まれているすべての依存関係からのすべてのクラス ファイルが表示されます (すべてのライブラリ jar が展開されています)。
私の問題は、パッケージ化プロセスで、複数の春の依存関係に、互いにオーバーライドする異なるMETA-INF/spring.schemasファイルがあることです。その結果、最終的な jar には不完全な spring.schemas ファイルがあります。
そのため、実行可能な jar を実行しようとすると、spring.schemas ファイルが不完全であるためファイルが見つからないという Spring エラー メッセージが表示されます (Spring-WS の jar が Spring-core の spring.schemas ファイルをオーバーライドしました)。
私の実行可能 jar の META-INF/spring.schemas:
Spring-beans.jar META-INF/spring.schemas の代わりに:
私は困惑しています。すべてを単一の実行可能 jar としてパッケージ化できるかどうか、またはその方法がわかりません。これがシェード プラグインの設定の問題なのか、不可能なことをしようとしているのかはわかりません。独自の spring.schemas ファイル (他のファイルの連結) を手動で作成する必要があるというのは正しくないように思われます。
私は少し銃を飛ばしたかもしれません。シェード プラグインについてさらに情報を掘り下げていくと、以前は見逃していたAppendingTransformerに気付きました。しかし、私の懸念は、他のどのファイルが同じ問題を抱えているかを知る方法ですか? この特定の春の問題を発見/キャッチしました。同様のことをしている可能性のある他のライブラリについてはわかりません...
任意の提案をいただければ幸いです。
java - ベースディレクトリにdependency-reduced-pom.xmlを追加するMavenシェードプラグイン
Mavenシェードプラグインは、 dependency-reduced-pom.xmlおよびartifactname-shaded.jarというファイルを作成し、それらをベースディレクトリに配置します。
これはバグですか?ターゲットディレクトリにある必要があります。回避策はありますか?