3
これがMavenのサポートであるかどうかはわかりません。私が得ることができるどんな助けにも感謝します。子ポムは、親ポンで定義された依存関係の除外を継承できますか?
私は、依存関係と除外を定義する親のpomを持っています。私は、親のポンポンを変更することはできません。
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
<exclusions>
<!-- this exclusion needs to be inherited by all children -->
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</exclusion>
</exclusions>
</dependency>
は、その後、子ポンポンで、私が親で、同じ依存関係から異なる依存性を排除する必要があります。そう
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
<exclusions>
<!-- this exclusion is just for the child -->
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
しかし、私はそれを行う場合、子供は除外SLF4Jジャー(正しく)を持つことになりますが、私は親の除外を言い換えるならばしない限り、それは、除外春クラウド-config設定 - サーバーの瓶を持っていないようなその依存関係の子宣言で。
私はちょうどそれをコピーすることができたが、それは面倒です、そして、私は親に子供の排除をプッシュするのは簡単だろうが、それから他のすべての子供にその排除を強制するでしょう。
親と子で同じ依存関係が異なって宣言されている場合、Mavenは依存関係の除外情報をマージする必要があります。
これは可能ですか?あなたの子供のポンポンで
<dependencyManagement>
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
<exclusions>
<!-- this exclusion needs to be inherited by all children -->
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
:あなたの親のポンポンで
は、これは正しく、親にdependencyManagementを使用して処理することができますが、あなたが親を変更することはできませんと述べました。実際にslf4j-apiを使用する代わりに、slf4jを使用するだけで、実際の実装をどのように使うべきかを決めることができます。 – khmarbaise
作業。私はそれを変更することはできませんが、本当に私は親にlog4j2を課すことはできません。親を変更して介入を少なくすることができるかもしれません。私はそれを試してみましょう。 –
dependencyManagementでどのように動作するかを明確にすることはできますか?依存関係の管理セクション内に除外を置くと、それが伝播すると言っていますか? –