第一模块:课程介绍
课程名称:新一代构建工具gradle
课程章节:第4章 高级应用
主讲老师:skyding
作者:阿拉斌
第二模块:课程内容
熟悉gradle中的依赖管理和编写
第三模块:课程收获
概述
几乎所有的基于JVM的软件项目都需要依赖外部类库来重用现有的功能。自动化的依赖管理可以明确依赖的版本,可以解决因传递性依赖带来的版本冲突。
攻坚坐标
通过group、name、version这三个属性可以确定一个唯一的jar包
常用仓库
仓库就是用来存放jar包的地方,我们有这么几种类型的仓库
mavenCentral:中央远程仓库
mavenLocal:本地仓库
自定义maven仓库:就是常说的maven私服
文件仓库:就是本地机器上的文件路径也可以作为仓库
依赖的传递性
示例:B依赖A,如果C依赖B,那么C依赖A
我们通过看下图来进行了解
右上边那个就是一个远程仓库。
中间的齿轮就是构建工具提供的
然后还有LocalRepository(本地仓库)
我们会先通过网络来下载jar包到本地,如果多次使用同一个jar包的话,构建工具就会进行缓存
依赖阶段配置
源代码阶段:编译(compile),运行(runtime)
测试代码阶段:编译(testcompile),运行(testruntime)
关系:
如果是源码依赖的,测试代码就都会依赖,如果是测试代码的依赖,那么源代码也会依赖,如果是测试编译代码依赖的,那么源代码不一定会依赖。
看下代码示例:
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
这里有两个测试阶段的依赖,在右侧也可以看到
那么我们如何添加依赖呢。可以去maven的仓库进行搜索:https://central.sonatype.dev/
在输入框搜索我们想要的依赖。
选一个点进去
在上面的版本号地方,可以进行版本的切换,在Snippets的右侧下来可以选择使用的编译工具
我们选择gradle来进行这个操作。
确认没问题的话,点击右侧的copy按钮来进行复制。
在去build.gradle处粘贴。
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
implementation 'com.walterjwhite.infrastructure.dependencies:logback-classic:0.0.15'
}
点击gradle的刷新按钮完成刷新操作
到这我们就可以去项目中进行使用了。
使用gradle来进行依赖管理,相比起使用之前的maven,它的依赖描述简洁,不像之前各种xml的配置。大大减少了对依赖的阅读困难