0

我有一个依赖于另一个 Maven 构建项目(G)的 Maven 项目(P)。该项目 (G) 依赖于 slf4j 和绑定的“logback-classic”(LC)。项目(P)对 slf4j 有自己的依赖,但绑定到“logback-android-classic”(LAC)。项目 (G) 是一个代码生成器,在“生成源”阶段运行。如何使代码生成器的类路径包含 LC 而不是 LAC,而是使用 LAC 而不是 LC 构建的主要工件?

我猜这与插件管理有关?

4

1 回答 1

1

项目 G 不应该是 P 的依赖项。它只是一个插件,在构建期间使用。它应该只在<plugins>项目 P 的 pom 部分列出。它的 slf4j 实现不会出现在 P 的类路径中。

听起来 G 没有按照插件的规则玩。它应该使用 Maven 的记录器,而不是 SLF4J。更多在这里http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-custom-plugin.html

于 2012-11-01T21:04:47.920 回答