これは簡単だったはずですが、maven-install プラグインで奇妙な動作が発生しています。
依存関係の競合を避けるために、いくつかの一般的な依存関係をプロジェクトに再パッケージ化する必要がありました。その目的のために、再配置が構成されたシェードプラグインを使用しました。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>do_shade</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<shadedArtifactAttached>false</shadedArtifactAttached>
<createSourcesJar>true</createSourcesJar>
<relocations>
<relocation>
<pattern>com.google.common</pattern>
<shadedPattern>com.myproject.google.common</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons</pattern>
<shadedPattern>com.myproject.commons</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
シェード プラグインは正しく機能し、シェーディング アーティファクトcom.myproject-myproject-.jarと依存関係を減らした pom ファイルを生成しました。ただし、プラグインをインストールすると、シェーディングされたものではなく、元のアーティファクト (依存関係なし) がインストールされます。
さらに、プラグインの問題をインストールする前に、CI サーバー (jenkins) がプロジェクトをビルドし、シェーディングされたアーティファクトを正しく公開し、依存関係を nexus リポジトリ(!!) に削減しました。したがって、nexus からアーティファクトをダウンロードすると、ローカル リポジトリに正しい jar が作成されますが、インストール プラグインを使用すると、jar は適切ではありません。
誰かが同様の問題を抱えていましたか?誰もそれらを解決する方法を知っていますか??