小さな警告
それは、maven-shade-pluginを使用したい理由を説明していませんが(選択した回答はそれをかなりよく説明しているため)、問題があったことに注意したいと思います。それはJARを変更し(それが行っているので)、それは私のソフトウェアにリグレッションを引き起こしました。
したがって、これ(またはmaven-jarjar-plugin)を使用する代わりに、問題なく動作するように見えるJarJarのバイナリを使用しました。
適切な解決策を見つけるのに時間がかかったので、ここに私の解決策を投稿します。
ダウンロード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」ファイルを作成します。ファイルの内容は次のようになります(「@」文字の前のピリオドに注意してください):rulecom.fasterxml.jackson。**io.kuku.dependencies.com.fasterxml.jackson。@1
次のコマンドを実行します。java-jarjarjar-1.4.jarprocess 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>