在 Java 里,**依赖(Dependency)**通常指的是:一个 Java 项目在编译、运行或测试时所需要的外部代码或库。
简单来说:
你的代码要用别人的代码,别人提供的这些代码就是你的依赖。
Java 本身只提供基础 API(如 java.lang、java.util 等),但实际开发中你往往需要:
这些功能不需要自己从零写,而是引入别人已经写好的库,这些库就是依赖。
.jar 文件(Java Archive).class 文件例如:
spring-core-5.3.30.jar
jackson-databind-2.15.2.jar
在 Maven / Gradle 中,依赖通常有不同作用范围:
| 范围 | 说明 |
|---|---|
| compile | 编译 + 运行都需要(默认) |
| provided | 编译需要,运行由容器提供(如 servlet-api) |
| runtime | 运行需要,编译不需要 |
| test | 只在测试时使用(如 JUnit) |
现代 Java 项目不会手动下载 jar 包,而是用依赖管理工具。
pom.xml 示例:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.30</version>
</dependency>
Maven 会自动:
build.gradle 示例:
dependencies {
implementation 'org.springframework:spring-core:5.3.30'
}
如果 A 依赖 B,B 又依赖 C:
你的项目 → A → B → C
那么:
这就是依赖传递机制。
项目同时引入了:
spring-core 5.3.30
spring-core 5.2.0
可能导致:
NoSuchMethodErrorClassNotFoundExceptiondependency:tree 查看依赖树<exclusions>)Java 依赖就是项目运行所需的外部库,通过 Maven / Gradle 管理,以 JAR 包的形式存在。
如果你愿意,我可以帮你:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。