首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何告诉maven-dependency-plugin在项目中使用了工件?

如何告诉maven-dependency-plugin在项目中使用了工件?
EN

Stack Overflow用户
提问于 2011-02-07 16:34:38
回答 2查看 5.4K关注 0票数 8

这是我的多模块项目的结构:

代码语言:javascript
复制
/root
  /api dependencies: slf4j
  /foo dependencies: slf4j-log4j12, log4j

换句话说,模块api使用slf4j进行日志记录。它不知道日志记录工具的实现会是什么。模块foo添加了slf4j-log4j12log4j来实现日志记录。非常简单。

现在,我正在运行maven-dependency-plugin:analyze-only,下面是它为模块foo显示的内容

代码语言:javascript
复制
[WARNING] Unused declared dependencies found:
[WARNING]    org.slf4j:slf4j-log4j12:jar:1.6.1:compile
[WARNING]    log4j:log4j:jar:1.2.16:compile

这意味着插件并不理解foo确实需要这些依赖项。我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-07 16:51:46

如果给这些依赖项一个runtime作用域而不是compile,会发生什么?

如果您已经将它们定义为编译时依赖项,我认为依赖项插件会认为它们是编译所需的,而实际上并非如此。但是您只需要在运行时使用slf4-log4j和log4j JAR文件。

编辑:您可能需要设置ignoreNonCompile选项:

http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html

票数 11
EN

Stack Overflow用户

发布于 2011-02-07 16:51:48

您是否尝试过将slf4j-log4j12log4j的作用域设置为运行时?

请参阅maven dependency scope

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4919297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档