Maven中的依赖关系

Zac*_*ach 4 java dependency-management maven maven-dependency-plugin

我对maven真的很新.我对依赖功能感到有点困惑.我知道我可以像这样在pom文件中添加依赖项

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这究竟意味着什么?这是否意味着我不需要将slf4j jar文件导入到我的项目中?如果是这样,我的项目如何访问这些库?

我已经阅读了maven网站的依赖关系,但对我没什么帮助.

有人可以用更简单的方式解释它.

谢谢

Dav*_*ton 5

Nutshell:这意味着您的项目依赖于slf4j,版本1.6.1.

此外:

  • 如果使用Maven构建项目(或者您的IDE支持Maven),则无需执行任何其他操作即可使用slf4j.(除了正常的源代码注意事项,如合理的import声明等)
  • slf4j v.1.6.1将从默认的Maven存储库检索到本地存储库,这意味着......
  • ... ~/.m2/repository是你的存储库.slf4j将被放入$M2_HOME/org/slf4j/$(artifactId}/1.6.1并将包含(通常)一个jar文件,一个pom文件和一个哈希文件.
  • Slf4j的依赖项也将下载到您的本地存储库中.
  • 的依赖关系依赖将被下载循环往复/广告nauseum.(如果有很多依赖项,"首次使用库下载互联网"的来源是笑话;而不是slf4j的情况.)这是"传递依赖管理" - Maven最初的目的之一.