グーグルチューブでこれに対する答えに似たものを見ていないので、ここに行きます...
grails プロジェクトでは、いくつかのローカル プラグインを利用しています。私たちのプラグインの 1 つが最近 SLF4J に依存しています。メインの Web アプリケーション (プラグインを使用) も SLF4J に依存しています。これにより、実行時に完全に無害ですが、それでも刺激的な警告が表示されます。
Error SLF4J: Class path contains multiple SLF4J bindings.
通常、プラグインの SLF4J 依存関係で「除外」を定義するだけですが、これはローカル プラグインであるため、そうする方法がわかりません。私は試した...
grails.plugin.location.'localpluginname' = '../localplugindir'
grails.project.dependency.resolution = {
plugins {
runtime("com.ourcompany:localpluginname:1.0") {
excludes('slf4j-api')
}
}
}
...しかし、リモートリポジトリで上記のプラグインを実際に解決しようとして失敗します。また、依存関係をまだ提供していない他のプロジェクトでプラグインが使用される可能性があるため、プラグインで直接依存関係を除外したくありません。
これを行うためにローカル プラグインをローカル Maven リポジトリにデプロイすることを誰かが提案する前に、それをやりたくないという邪魔にならないようにさせてください。理由があってそれらをローカルに持っているので、迅速に変更を加え、その変更を確認することができます。私たちは、変更のたびにデプロイする手間が増えるよりも、煩わしい警告メッセージと一緒に暮らしたいと思っています。