maven-shade-pluginパッケージを使用してすべての依存jarパッケージをパッケージ化
7349 ワード
1. Why?
すべての依存jarパケットを含むmaven-shade-pluginによってuber-jarが生成されます.
2. Goals
Goal
Description
shade:help
Display help information on maven-shade-plugin.Callmvn shade:help -Ddetail=true -Dgoal=to display parameter details.
shade:shade
Mojo that performs shading delegating to the Shader component.
3. Usage maven-shade-plugin の構成
maven-shade-pluginはgoal shade:shadeをphase packageにバインドします.実行コマンド
-shaded.jarを接尾辞とするuber-jarパッケージがtargetファイルに生成されます.
4. Examples Selecting Contents for Uber JAR
このプロジェクトに依存するJarパッケージの一部をinclude/excludeから削除します.
依存するJarパッケージ内のクラスまたはリソースinclude/excludeを削除します.
maven-shade-pluginは、使用しないすべてのクラスを自動的に排除し、uber-jarを最小化します. Attaching the Shaded Artifact
デフォルトでは、Jarパッケージと「-shaded」で終わるuber-jarパッケージが生成され、uber-jarの接尾辞名を設定することで指定できます. Executable JAR
MainClassを設定して実行可能なJarパッケージを作成します. Relocating Classes
Javaエンジニアリングでは、サードパーティのJarパッケージの競合が頻繁に発生し、maven shade pluginを使用してjarまたはクラスのマルチバージョン競合を解決します.maven-shade-pluginパッケージ化時に、プロジェクトに依存するjarパッケージのクラスファイルの一部をプロジェクト構築で生成されたjarパッケージにパッケージ化し、パッケージ化時にクラスの名前を変更できます.次の構成では、org.codehaus.plexus.util jarパッケージの名前をorg.shaded.plexus.utilに変更します.
リファレンス
maven入門ガイドmavenライフサイクルMavenデフォルトプラグインおよび機能maven依存管理maven-shade-plugin入門ガイドmaven-assembly-plugin入門ガイド
作者:ご饭をもらうのは难しいですね
リンク:http://www.jianshu.com/p/7a0e20b30401
出典:簡書
著作権は作者の所有である.商業転載は著者に連絡して許可を得てください.非商業転載は出典を明記してください.
すべての依存jarパケットを含むmaven-shade-pluginによってuber-jarが生成されます.
2. Goals
Goal
Description
shade:help
Display help information on maven-shade-plugin.Callmvn shade:help -Ddetail=true -Dgoal=to display parameter details.
shade:shade
Mojo that performs shading delegating to the Shader component.
3. Usage
maven-shade-pluginはgoal shade:shadeをphase packageにバインドします.
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
mvn clean package
-shaded.jarを接尾辞とするuber-jarパッケージがtargetファイルに生成されます.
4. Examples
このプロジェクトに依存するJarパッケージの一部をinclude/excludeから削除します.
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
classworlds:classworlds
junit:junit
jmock:*
*:xml-apis
org.apache.maven:lib:tests
log4j:log4j:jar:
依存するJarパッケージ内のクラスまたはリソースinclude/excludeを削除します.
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
junit:junit
junit/framework/**
org/junit/**
org/junit/experimental/**
org/junit/runners/**
*:*
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
maven-shade-pluginは、使用しないすべてのクラスを自動的に排除し、uber-jarを最小化します.
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
true
デフォルトでは、Jarパッケージと「-shaded」で終わるuber-jarパッケージが生成され、uber-jarの接尾辞名を設定することで指定できます.
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
true
jackofall
MainClassを設定して実行可能なJarパッケージを作成します.
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
org.sonatype.haven.HavenCli
Javaエンジニアリングでは、サードパーティのJarパッケージの競合が頻繁に発生し、maven shade pluginを使用してjarまたはクラスのマルチバージョン競合を解決します.maven-shade-pluginパッケージ化時に、プロジェクトに依存するjarパッケージのクラスファイルの一部をプロジェクト構築で生成されたjarパッケージにパッケージ化し、パッケージ化時にクラスの名前を変更できます.次の構成では、org.codehaus.plexus.util jarパッケージの名前をorg.shaded.plexus.utilに変更します.
org.apache.maven.plugins
maven-shade-plugin
2.4.3
package
shade
org.codehaus.plexus.util
org.shaded.plexus.util
org.codehaus.plexus.util.xml.Xpp3Dom
org.codehaus.plexus.util.xml.pull.*
リファレンス
maven入門ガイドmavenライフサイクルMavenデフォルトプラグインおよび機能maven依存管理maven-shade-plugin入門ガイドmaven-assembly-plugin入門ガイド
作者:ご饭をもらうのは难しいですね
リンク:http://www.jianshu.com/p/7a0e20b30401
出典:簡書
著作権は作者の所有である.商業転載は著者に連絡して許可を得てください.非商業転載は出典を明記してください.