温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么是Java依赖

发布时间:2026-07-24 22:37:41 来源:亿速云 阅读:112 作者:小樊 栏目:编程语言

在 Java 里,**依赖(Dependency)**通常指的是:一个 Java 项目在编译、运行或测试时所需要的外部代码或库

简单来说:

你的代码要用别人的代码,别人提供的这些代码就是你的依赖。


一、为什么需要依赖?

Java 本身只提供基础 API(如 java.langjava.util 等),但实际开发中你往往需要:

  • 操作数据库(如 MySQL、JDBC)
  • 解析 JSON(如 Jackson、Gson)
  • 写 Web 服务(如 Spring Boot)
  • 写单元测试(如 JUnit)

这些功能不需要自己从零写,而是引入别人已经写好的库,这些库就是依赖。


二、依赖的常见形式

1️⃣ JAR 包(最常见)

  • .jar 文件(Java Archive)
  • 本质是一个压缩包,里面是 .class 文件

例如:

spring-core-5.3.30.jar
jackson-databind-2.15.2.jar

2️⃣ 依赖的作用范围

在 Maven / Gradle 中,依赖通常有不同作用范围:

范围 说明
compile 编译 + 运行都需要(默认)
provided 编译需要,运行由容器提供(如 servlet-api)
runtime 运行需要,编译不需要
test 只在测试时使用(如 JUnit)

三、依赖管理工具(重点)

现代 Java 项目不会手动下载 jar 包,而是用依赖管理工具。

✅ Maven(最常用)

pom.xml 示例:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.3.30</version>
</dependency>

Maven 会自动:

  • 下载这个 jar
  • 下载它依赖的其他 jar(传递依赖

✅ Gradle

build.gradle 示例:

dependencies {
    implementation 'org.springframework:spring-core:5.3.30'
}

四、什么是“传递依赖”?

如果 A 依赖 B,B 又依赖 C:

你的项目 → A → B → C

那么:

  • 你只需要声明 A
  • B 和 C 会被自动引入

这就是依赖传递机制


五、依赖冲突(常见问题)

问题示例

项目同时引入了:
spring-core 5.3.30
spring-core 5.2.0

可能导致:

  • 编译错误
  • NoSuchMethodError
  • ClassNotFoundException

解决方式

  • Maven:使用 dependency:tree 查看依赖树
  • 排除冲突依赖(<exclusions>
  • 统一版本(BOM)

六、一句话总结

Java 依赖就是项目运行所需的外部库,通过 Maven / Gradle 管理,以 JAR 包的形式存在。

如果你愿意,我可以帮你:

  • 通俗比喻再讲一遍
  • 结合 Spring Boot 项目讲依赖
  • Maven 依赖是怎么下载和工作的
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI