0

別のMavenビルドプロジェクト(G)に依存するMavenプロジェクト(P)があります。このプロジェクト(G)は、slf4jとバインディング'logback-classic'(LC)に依存しています。プロジェクト(P)はslf4jに独自の依存関係がありますが、「logback-android-classic」(LAC)にバインドされています。プロジェクト(G)は、フェーズ「generate-sources」中に実行されるコードジェネレーターです。コードジェネレーターのクラスパスにLACではなくLCを含めるにはどうすればよいですか?ただし、主要なアーティファクトはLCではなくLACで構築されますか?

これはPluginManagementと関係があると思いますか?

4

1 に答える 1

1

プロジェクトGはPの依存関係であってはなりません。これは、ビルド中に使用されるプラグインにすぎません。<plugins>プロジェクトPのpomのセクションにのみリストする必要があります。そのslf4j実装は、Pのクラスパスに到達しません。

Gがプラグインのルールに従って再生されていないようです。SLF4Jではなく、Mavenのロガーを使用する必要があります。詳細はこちらhttp://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-custom-plugin.html

于 2012-11-01T21:04:47.920 に答える