5
Maven:ライブラリーによって追加された依存関係をオーバーライドする方法
これが私の一般的な問題です: 私のプロジェクトPは、バージョン1.0.1のDに依存するCに依存するBに依存するAに依存しています。 Dのバージョン1.0.1に問題があり、別のモジュールを強制的に使用したい。Dへの依存関係を直接追加していないため、プロジェクトのPOMでこれを宣言する方法がわかりません。Dへの依存を宣言したのはCです。 重要:この場合、バージョンだけでなく、グループとアーティファクトも変更されます。したがって、依存関係のバージョンをオーバーライドするだけでなく、モジュールを除外して別のモジュールを含めることも重要です。 具体的なケースでは、Dは1.0.1にバグがあるStAX です。バグのメモによると、「問題はstax-api-1.0.1(maven GroupId = stax)をstax-api-1.0-2(maven GroupId = javax.xml.stream)に置き換えることで解決された」ので、ちょうどそれを試みています。 したがって、D = stax:stax-api:jar:1.0.1およびC = org.apache.xmlbeans:xmlbeans:jar:2.3.0 必要に応じて、Maven 2.0.9を使用しています。 mvn dependency:treeの出力 mvn dependency:tree [..snip..] [INFO] +- org.apache.poi:poi-ooxml:jar:3.6:compile [INFO] | +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile [INFO] | | +- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile [INFO] | | | \- stax:stax-api:jar:1.0.1:compile 私のプロジェクトのPOMでは、「A」に次の依存関係があります。 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.6</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> …
116
maven-2
dependencies