Gradle-使用
Gradle-使用
安装
-
明确
gradle
版本问题 ( IDEA
)安装目录 JetBrains\IntelliJ IDEA 2022.1.1\plugins\gradle\lib
gradle => 7.4
-
gradle
官网 -
下载
下载选择 点击完整下载 ( 更新
https://downloads.gradle-dn.com/distributions/gradle-8.0.1-all.zip)-
解压目录
目录信息 -
配置环境变量
1
2
3
4
5# 配置环境变量
GRADLE_HOME: C:\Download\gradle-7.4.1-all
Path:
添加: %GRADLE_HOME%\bin -
查看是否成功
1
2# 查看版本信息
gradle -v成功安装 -
配置
gradle
的本地仓库 1
2# 配置和 maven 的本地仓库工具一个 GRADLE_USER_HOME(固定键名)
GRADLE_USER_HOME: C:\Download\apache-maven-3.5.0-bin\conf\repo系统环境变量中添加
-
Gradle 项目目录结构
-
对比
与 maven
项目的对比
创建 Gradle 项目
-
spring initializr ①
下载 -
命令行创建
选择 -
常用指令
指令 作用 gradle clean
清空 build
目录 gradle classes
编译业务代码和配置文件 gradle test
编译测试代码, 生成测试报告 gradle build
构建项目 gradle build -x text
跳过测试, 构建测试 指令要在
含有 build.gradle
的目录执行
修改 Maven 下载源
-
gradle
压缩包的 init.d
目录下创建 init.gradle
文件 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35allprojects{
repositories {
mavenLocal()
def ALIYUN_REPOSITORY = 'https://maven.aliyun.com/repository/public/'
def ALIYUN_JCENTER= 'https://maven.aliyun.com/repository/jcenter/'
def ALIYUN_GOOGLE = 'https://maven.aliyun.com/repository/google/'
def ALIYUN_GRADLE_PLUGIN = 'https://maven.aliyun.com/repository/gradle-plugin/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER."
remove repo
}
if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE."
remove repo
}
if (url.startsWith('https://plugins.gradle.org/m2/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY }
maven { url ALIYUN_JCENTER }
maven { url ALIYUN_GOOGLE }
maven { url ALIYUN_GRADLE_PLUGIN}
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30allprojects {
repositories {
mavenLocal()
maven {
name "Alibaba";
url "https://maven.aliyun.com/repository/public"
}
maven {
name "Bstek";
url "https://nexus.bsdn.org/content/groups/public/"
}
mavenCentral()
}
buildscript {
repositories {
maven {
name "Alibaba";
url 'https://maven.aliyun.com/repository/public'
}
maven {
name "Bstek";
url 'https://nexus.bsdn.org/content/groups/public/'
}
maven {
name "M2";
url 'https://plugins.gradle.org/m2/'
}
}
}
}
Wrapper 包装器
-
使用
1
gradlew.bat -v
-
参数
参数名 说明 gradle wrapper --gradle-version=7.4.2
用于指定使用的 gradle
版本 gradle wrapper --gradle-distribution-url
用于指定下载 gradle
发行版的 url
地址
IDEA-Gradle
-
项目创建
IDEA-Gradle
-
配置
配置 gradle
环境
可视化正则表达式
WEB-工程
-
项目创建
创建 -
修改
build.gradle
1
2
3
4
5plugins {
id 'java'
// 添加 war
id 'war'
} -
在
main
目录下补全目录 补全目录
聚合工程
-
创建父工程
-
修改父工程下
gradle.build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25// 用 allprojects 包裹后,
可以被子工程继承同步插件
allprojects {
apply plugin:'java'
group 'com.example'
version '1.0-SNAPSHOT'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.24'
implementation group: 'org.springframework', name: 'spring-webmvc', version: '5.3.20'
}
test {
useJUnitPlatform()
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32```
+ 在父工程下新建`module`
| `module` |
| :----------------------------------------------------------: |
|  |
+ 新模块
| `gradle-api` |
| :----------------------------------------------------------: |
|  |
+ 继承
| 删除子工程`build.gradle`内的内容 |
| :----------------------------------------------------------: |
|  |
+ 子工程相互依赖
```properties
// 使用的前提: settings.gradle 中出现才可以使用 : 是相对于父工程的
dependencies {
// gradle-web 添加的子工程名称
implementation project(":gradle-web")
}目录结构
-
Gradle-SpringBoot
-
修改如下配置
使用本地 -
创建父工程
父工程
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 coder-itl!
评论