mavenコアモジュール (に依存しているlog4j) が他のモジュールに継承されている複雑なプロジェクトがあります。
2 つの Maven モジュール
- 最初のものはデスクトップスイングアプリケーションです
- 2 つ目は Android アプリです。
最初のモジュール (swing アプリ) をそのままビルドして、log4j(親コア モジュールから) 標準実装を継承するようにしたいのですが、2 番目のモジュールではlog4j. Mavenにそのようなことをするように指示する方法は?
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html#Dependency_Exclusionsを参照してください
依存関係を宣言するAndroidアプリでは、次のようになります。
<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
ただし、Log4Jの代わりにAndroidも含めるようにしてください。