問題タブ [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.
maven - maven-assembly-plugin での maven-shade-plugin の使用
maven-assembly-plugin を使用していくつかの (実行可能な jar) アセンブリをパッケージ化するプロジェクトがあります。基本的に同じコードですが、クライアントごとに異なるデータ セットがあります。
実行可能 jar で spring を使用する必要があり、spring のファイル命名により、jar の作成に maven-shade-plugin を使用する必要があります。これは正常に動作し、実行可能 jar を作成できますが、shade プラグインはアセンブリ プラグインから利用できる機能の多くを提供しないため、他のファイルをこの新しいシェーディング jar にアセンブルする方法を理解できません。
シェーディング プラグインはアセンブリの前に実行されるため、アセンブリでシェーディング アーティファクトを何らかの方法で使用できると想定していますが、これまでの試みはすべて失敗しました。既存の影付きの jar を取り、バイナリやその他のファイルを単純に挿入するアセンブリを作成することは可能ですか?
maven - Maven Shade プラグイン フィルタリング
含まれている jar でリソースの一部を強化/フィルタリングしようとしています。私がしたいのは、シェーディング段階で含まれている jar のキーワードの一部を新しいものに置き換えることです。
シェーディングされたリソースを強化する方法はありますか?
編集:
私のリソースには #keyword1# #keyword2# のような文字列があり、それらを対応するものに置き換えたいと思います。
java - Java7UberJar用のMavenShadeプラグイン
私の質問は単純です:Javaバージョン7と互換性のあるバージョンのMaven-shade-pluginはありますか?具体的には、このプラグインを使用しようとすると、次のエラーが発生します(Netbeans IDEを使用)。
そして、コンパイルしようとすると、次の警告が表示されます。
したがって、Java7と互換性のあるプラグインが必要なようです。
maven - Mavenは依存関係のjarマニフェストファイルを変更します
申し訳ありませんが、現在手元にないため、正確なコードを提供することはできません。しかし、プロジェクトを jar にパッケージ化しようとしているときに問題が発生しました。pom.xml で Maven アセンブリ プラグインを使用して、すべての依存関係とプロジェクト jar を 1 か所にまとめました。しかし、カスタム マニフェスト ファイルを作成するには、これらすべての依存関係 jar が必要です。Maven自体に何らかのプロパティを注入することは可能ですか? 私が思いついた唯一の解決策は、Maven の shade プラグインを使用して uber-jar を作成することですが、問題は、一部の依存関係にカスタム マニフェスト (Spring フレームワークのものなど) があり、それが失われ、uber 用に 1 つのマニフェストしか生成されないことです。 -瓶。Mavenに依存関係を解凍し、manifestEntriesを編集して再度パックし、プロジェクトjarと一緒にzipにまとめるように指示することは可能ですか?
簡単に言えば、基本的に私が知りたいのは、依存関係jarの1つまたはすべての依存関係jar内のファイルを一度に何らかの形で変更することでしょうか? 私のプロジェクトに spring-beans の依存関係があるとしましょう。ここで、project.jar と spring-beans.jar (変更された manifest.md) を含む必要がある 1 つの zip にそれらをアセンブルする前に、spring-beans.jar 内の特定のファイル、特に manifest.md を変更したいと思います。maven antrunner プラグインで同様のことが達成できると思いますか?
例:
spring-core.jar、spring-context.jar、spring-beans.jar の manifest.md を変更したい。シェードプラグインを使用して、シェードの構成内で編集できるmanifest.mdを1つ持つuber jarを作成できることは知っていますが、特定の依存関係jarを単独で変更することが可能であれば、それはより確実であり、これらのライブラリを複数のアプレット間で使用します。
java - 陰影付きのmaven jarからテストの依存関係を除外する方法は?
私は maven-shade-plugin を使用しており、テスト コードだけでなく、shaded jar 内のテストの依存関係も除外したいと考えています。特定のアーティファクト (junit など) を具体的に除外できることはわかっていますが、それはかなりの作業であり、エラーが発生する可能性が高くなります。
true に設定minimizeJar
していますが、まだ Junit と Mockito の依存関係が表示されています。構成を介してすべてのテストスコープの依存関係を除外する方法はありませんか?
maven - 依存関係のリソースを含まない Maven Shade プラグイン
パッケージ段階ですべての依存関係を含めるために Maven Shade Plugin を使用しています。これはクラスでは問題なく機能しますが、依存リソースは含まれません。
依存 jar のレイアウトは次のとおりです。
シェード プラグインの構成は次のとおりです。
maven - maven-release-plugin にはシェーディングされたアーティファクトが含まれていません
シェーディング アーティファクトを含むマルチ モジュール プロジェクトをリリースしようとしています。release:prepare を実行してから release:perform を実行すると、Nexus リポジトリにアップロードされたアーティファクトには、元の jar のみが含まれ、影付きの jar は含まれません。
Maven の「リリース」が「パッケージ」のライフサイクルの前に実行される可能性はありますか?
私が実行しているコマンドは次のとおりです。
私の親 pom.xml は次のとおりです。
配布プロジェクトの pom.xml は次のようになります
http://maven.apache.org/xsd/maven-4.0.0.xsd"> my-project-parent org.my.project 1.2.0-SNAPSHOT 4.0.0
私のコンピューターのフォルダーには影付きのアーティファクトがありますが、Nexus リポジトリのアーティファクトには元の空の Jar しか含まれていません。
陰影付きの瓶を強制的に解放する方法はありますか?
ありがとう、エヤル
java - IntelliJ mvn パッケージがコマンド ラインとは異なる動作をしている
私のプロジェクトでは、コマンドラインに移動して次のように入力します。
mvn パッケージ
/target ディレクトリに 1 つのファット .jar ファイルを作成します。
Maven Shade プラグインを使用しています。
IntelliJ でこれを実行できるようにしたいので、maven の実行構成で、作業ディレクトリをルート pom.xml フォルダーに設定し、コマンド ライン 'mvn package' を追加しました。
同じ出力は生成されません。次のとおりです。
私は何を間違っていますか?