java - Maven 中的依赖

标签 java maven dependency-management maven-dependency-plugin

我对maven真的很陌生。我对依赖特性有点困惑。我知道我可以像这样在 pom 文件中添加依赖项

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.1</version>
</dependency>

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

我已经从 maven site 读到关于依赖的信息但对我帮助不大。

谁能用更简单的方式解释一下。

谢谢

最佳答案

简而言之:这意味着您的项目依赖于 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 的依赖项也将下载到您的本地存储库中。
  • 那些 依赖项的依赖项将被无限期/令人作呕地下载。 (如果有很多依赖关系,“第一次使用库下载互联网”的来源开玩笑;slf4j 不是这种情况。)这是“传递依赖管理”——Maven 的最初目的之一。

关于java - Maven 中的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369622/

相关文章:

java - java中的动态方法返回类型

java - 为什么 String[] 参数在 Java 中是必需的?

java - 我如何知道选择哪个 Maven 依赖版本?

ant - gradle什么时候以及如何解决其依赖关系?

Eclipse Maven 依赖项未找到

ios - Cocoapods,以通用方式为所有目标添加依赖

java - 如何使用 JCodec 将一系列图像转换为视频?

java - 递归地将 1^2 到 n^2 的整数相加

java - 如何使用 maven bundle 插件在 OSGi bundle 中包含一个 jar 依赖项?

java - Spring beans 和 Hibernate 的 Maven 依赖项