小さな警告
これは、maven-shade-pluginを使用する理由を説明しているわけではありませんが(選択した回答でかなりよく説明されているため)、問題があったことに注意したいと思います。JARが変更され(それが実行しているため)、ソフトウェアでリグレッションが発生しました。
したがって、これ(またはmaven-jarjar-plugin)を使用する代わりに、問題なく動作しているように見えるJarJarのバイナリを使用しました。
適切な解決策を見つけるのに時間がかかったので、ここに私の解決策を投稿します。
Downlaod JarJarのJARファイル
jarは次の場所からダウンロードできます。https:
//code.google.com/p/jarjar/
左側のメニューには、ダウンロードするためのリンクがあります。
JARのクラスをあるパッケージから別のパッケージに再配置するためにJarJarを使用する方法
この例では、パッケージを「com.fasterxml.jackson」から「io.kuku.dependencies.com.fasterxml.jackson」に変更します。-ソースJARは「jackson-databind-2.6.4.jar」と呼ばれ、新しく変更された(ターゲット)JARは「kuku-jackson-databind-2.6.4.jar」と呼ばれます。-「jarjar」JARファイルはバージョン1.4です。
「rules.txt」ファイルを作成します。ファイルの内容は次のようになります(「@」文字の前のピリオドに注意してください):ルールcom.fasterxml.jackson。** io.kuku.dependencies.com.fasterxml.jackson。@ 1
次のコマンドを実行します。java -jar jarjar-1.4.jar process rules.txt jackson-databind-2.6.4.jar kuku-jackson-databind-2.6.4.jar
変更されたJARをローカルリポジトリにインストールする
この場合、「c:\ my-jars \」フォルダにある3つのファイルをインストールします。
mvn install:install-file -Dfile = C:\ my-jars \ kuku-jackson-annotations-2.6.4.jar -DgroupId = io.kuku.dependencies -DartifactId = kuku-jackson-annotations -Dversion = 2.6.4- dpackaging = jar
mvn install:install-file -Dfile = C:\ my-jars \ kuku-jackson-core-2.6.4.jar -DgroupId = io.kuku.dependencies -DartifactId = kuku-jackson-core -Dversion = 2.6.4- dpackaging = jar
mvn install:install-file -Dfile = C:\ my-jars \ kuku-jackson-databind-2.6.4.jar -DgroupId = io.kuku.dependencies -DartifactId = kuku-jackson-annotations -Dversion = 2.6.4- dpackaging = jar
プロジェクトのpomで変更されたJARを使用する
この例では、これはプロジェクトpomの「依存関係」要素です。
<dependencies>
<!-- ================================================== -->
<!-- kuku JARs -->
<!-- ================================================== -->
<dependency>
<groupId>io.kuku.dependencies</groupId>
<artifactId>kuku-jackson-annotations</artifactId>
<version>2.6.4</version>
</dependency>
<dependency>
<groupId>io.kuku.dependencies</groupId>
<artifactId>kuku-jackson-core</artifactId>
<version>2.6.4</version>
</dependency>
<dependency>
<groupId>io.kuku.dependencies</groupId>
<artifactId>kuku-jackson-databind</artifactId>
<version>2.6.4</version>
</dependency>
</dependencies>