这是我的多模块项目的结构:
/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确实需要这些依赖项。我该如何解决这个问题?
发布于 2011-02-07 16:51:46
如果给这些依赖项一个runtime作用域而不是compile,会发生什么?
如果您已经将它们定义为编译时依赖项,我认为依赖项插件会认为它们是编译所需的,而实际上并非如此。但是您只需要在运行时使用slf4-log4j和log4j JAR文件。
编辑:您可能需要设置ignoreNonCompile选项:
http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html
发布于 2011-02-07 16:51:48
您是否尝试过将slf4j-log4j12和log4j的作用域设置为运行时?
请参阅maven dependency scope
https://stackoverflow.com/questions/4919297
复制相似问题