簡體   English   中英

如何告訴maven-dependency-plugin工件中使用了工件?

[英]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-log4j12log4j以實現日志記錄。 很簡單。

現在我正在運行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-log4j12log4j的范圍設置為運行時?
請參閱maven依賴范圍

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM