私のプロジェクトは、別のプロジェクトの影付きのjarファイルに依存しています。この他のプロジェクトは、シェードプラグインを使用して、artifact A version 1
〜shaded.a.b.c
のパッケージa.b.c
のすべてのクラスを再配置しています。影付きのjarを元のプロジェクトでシェーディングを引き起こす依存性として使用する
私のプロジェクトでもこのartifact A but version 2
が使用されています。私のプロジェクトをビルドすると、から来ると予想されるa.b.c.d
のインポートステートメントが、shaded.a.b.c.d
に変更されました。元のプロジェクトではシェーディングを使用していませんが、依存関係のjarファイルのシェーディングプラグインが元のプロジェクトでシェーディングを引き起こしています。
これが期待どおりの動作ですか?この推移的な陰影を止める方法はありますか?他のプロジェクトの
シェードプラグイン:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<outputDirectory>${project.build.directory}</outputDirectory>
<createDependencyReducedPom>true</createDependencyReducedPom>
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
<shadeSourcesContent>true</shadeSourcesContent>
<relocations>
<relocation>
<pattern>a.b.c</pattern>
<shadedPattern>shaded.a.b.c</shadedPattern>
</relocation>
</relocations>
</configuration>
</plugin>