yeg*_*256 8 java maven-2 maven-dependency-plugin
这是我的多模块项目的结构:
/root
/api dependencies: slf4j
/foo dependencies: slf4j-log4j12, log4j
Run Code Online (Sandbox Code Playgroud)
换句话说,模块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
Run Code Online (Sandbox Code Playgroud)
意味着插件不理解foo真正需要这些依赖项.我该如何解决这个问题?
小智 10
如果您为这些依赖项提供runtime范围而不是compile?
如果你已经将它们定义为编译时依赖项,我认为依赖插件会认为它们在编译时需要它们才真正没有.但是在运行时只需要slf4-log4j和log4j JAR文件.
编辑:您可能需要设置ignoreNonCompile选项:
http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html