gradle入门
Gradle安装
-
gradle的本地仓库不是设置为maven的本地仓库,而是引用maven本地仓库中的依赖,gradle设置自己的本地仓库
详情参考 -
Gradle依赖于JVM,jdk要求不低于1.6
-
安装:
官网下载 --> 下载二进制源码Binary-only,直接解压
配置环境变量:
GRADLE_HOME=安装路径
GRADLE_USER_HOME=本地仓库路径
Path=%GRADLE_HOME%\bin
-
验证是否安装成功:cmd --> gradle -v --> 出现版本号
-
配置仓库:安装目录下的 init.d 文件夹下,新建一个 init.gradle 文件,配置本地、私服、中央仓库
allprojects {
repositories {
maven { url 'file:///C:/Java/maven_repository'} #配置本地maven仓库
mavenLocal() #配置本地maven仓库
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } #配置阿里私服仓库
maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" } #配置国外镜像网站
mavenCentral() #配置maven中央仓库
}
buildscript {
repositories {
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
}
}
}
使用
-
在IDEA中集成gradle直接使用gradle插件即可:setting --> Build Execution Deployment --> Build Tools --> Gradle:
详情参考
-
创建一个gradle工程:
--> Create New Project
--> 选中左侧的Gradle,选择本地jdk,勾选Java,若同时勾选web,则创建web工程
--> 选择项目路径,自定义项目名称,点击下方的Artifact Coordinates,填写项目坐标的基本信息,Groupld:包名,Artifactld:工程名
--> 打开https://mvnrepository.com/ --> 搜索需要的jar包 --> 选择版本 --> 复制gradle标签下的代码到工程的build.gradle文件的dependencies内
--> 工程的build.gradle文件的repositories配置拉取依赖的仓库,如下配置表示:首先查看maven本地仓库,之后是maven中央仓库,最后是阿里私服
--> View/Tool Windows/Gradle 拉取jar包进行构建,或者点击界面最右边的Gradle,点击刷新按钮
repositories {
mavenLocal() // 使用本地maven仓库
mavenCentral() // 使用maven配置的远程仓库
//使用自定义的镜像库(私服)
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
}
- Gradle默认不定义任何存储库,根据配置的init.gradle文件进行组织构建,根据该配置文件中mavenLocal()找到.m2/settings.xml --> maven安装目录/setting.xml -->maven本地仓库/repo
- maven项目转为gradle项目:maven项目文件夹根目录执行 --> gradle init --type pom
- build.gradle用来进行项目构建,settings.gradle用来管理多项目的
- 执行构建脚本build.gradle,定义一个任务(Task),并给任务添加一个动作(Action)
- 执行流程:
1.执行build.gradle中的buildScript代码块
2.读取Plugin,使用Plugin来构建项目;Plugin向Project中添加Task,Task依次执行 - Gradle为每个build.gradle都会创建一个相应的Project领域对象,在编写Gradle脚本时,我们实际上是在操作诸如Project这样的Gradle领域对象
- Gradle项目各个配置文件详解
- apply、dependencies、task等实际上是Project的方法;dependencies、projects、properties等是Task