[英]How to tell maven-dependency-plugin that the artifact is used in the project?
這是我的多模塊項目的結構:
/root
/api dependencies: slf4j
/foo dependencies: slf4j-log4j12, log4j
換句話說,模塊api
使用slf4j
進行日志記錄。 它不知道日志工具的實現是什么。 模塊foo
添加了slf4j-log4j12
和log4j
以實現日志記錄。 很簡單。
現在我正在運行maven-dependency-plugin:analyze-only
,這就是它對模塊foo
所說的:
[WARNING] Unused declared dependencies found:
[WARNING] org.slf4j:slf4j-log4j12:jar:1.6.1:compile
[WARNING] log4j:log4j:jar:1.2.16:compile
這意味着插件不理解foo
確實需要這些依賴項。 我該如何解決這個問題?
如果您將這些依賴項賦予runtime
作用域而不是compile
什么?
如果你已經將它們定義為編譯時依賴項,我認為依賴插件會認為它們在編譯時需要它們才真正沒有。 但是在運行時只需要slf4-log4j和log4j JAR文件。
編輯:您可能需要設置ignoreNonCompile
選項:
http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html
您是否嘗試將slf4j-log4j12
和log4j
的范圍設置為運行時?
請參閱maven依賴范圍
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.