文章目录 1 Gradle的下载和配置2 用Gradle创建普通java项目2.1.1 创建工程2.1.2 更改三个Gradle设置2.1.3 更换阿里云的镜像,提升包的下载速度2.1.4 找回缺失的src目录2.1.5 项目运行 2.2 Gradle添加依赖 3 用Gradle创建SpringBoot项目
软件版本信息:目前最新的Gradle6.5.1 + JDK11 + idea2020.1.2
官方建议JDK的版本是8或以上
1 下载Gradle(官方链接)
2 将下载好的压缩包解压到任意目录。并在此目录下新建一个目录.gradle,此目录名可任取,位置也可任意。
为了使用方便,我将其放在了解压Gradle的目录中。这个目录相当于maven中的仓库目录,以后下载的依赖都会放到这里。
3 为Gradle添加环境变量。打开控制面板,按下图方式添加环境变量,添加完成之后一直点击确定离开。注意:设置此环境变量之前请确认已经为jdk添加环境变量
4 打开cmd或powershell,验证是否成功添加环境变量(要重启电脑才能使新添加的环境变量设置生效)
Gradle user home:我们在安装Gradle时指定的环境变量GRADLE_USER_HOME的值。
如果没有新建.gradle这个目录,这里的默认值为 C:Usersusername.gradle如果新建.gradle这个目录,但没有设置环境变量,以后每次用Gradle构建工程,都要手动修改此处的值如果新建.gradle这个目录并设置了环境变量GRADLE_USER_HOME,idea就能自动探测此处Gradle user home的值了下面两个和图示一样即可。
阿里云官方镜像站
repositories { // 添加阿里云镜像 maven { url 'https://maven.aliyun.com/repository/public/' } mavenCentral()} 2.1.4 找回缺失的src目录创建工程后,发现没有src目录,按下图设置即可
// 创建缺失的src目录task "create-dirs" { sourceSets*.java.srcDirs*.each { it.mkdirs() } sourceSets*.resources.srcDirs*.each { it.mkdirs() }}或
// 创建缺失的src目录task createDirs { sourceSets*.java.srcDirs*.each{ it.mkdirs() } sourceSets*.resources.srcDirs*.each{ it.mkdirs() }}
在src/main/java目录下新建一个包,再建一个类
这里以lombok为例
1 为idea下载lombok插件(已经配置过插件的可以跳过这步)
2 为项目添加lombok依赖
打开maven官方仓库,按名称搜索lombok插件,选择一个版本
3 项目运行
新建一个Person类测试运行
http://start.aliyun.com
两点说明:
说明一:关于下载
初次使用Gradle创建项目,本机明明已经下载了Gradle,可是建完之后还是会下载Gradle,这个不用管,让其下载完就好,这是项目构建需要,这次下完之后,以后创建项目就不会再下载了。
刚开始使用Gradle,很多依赖都没有添加过,下载可能会花一些时间,下载之后这些依赖会缓存在本机上(本机存储目录:GRADLE_USER_HOME,此环境变量值没修改的话,默认为C:users***.gradle;修改过的话就是自己指定的目录),已经缓存到本机上的依赖新项目中引入就不会再次下载了。若是依赖下载很慢的话,可以更换maven仓库地址,具体参见下述说明二
说明二:关于build.gradle
此文件内容可能会略有差异,下面是我的,以作参考
plugins { id 'org.springframework.boot' version '2.3.0.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id 'java'}group = 'com.example'version = '0.0.1-SNAPSHOT'sourceCompatibility = '11'// 指定仓库地址repositories { // 指定阿里云镜像(根据需要添加) // maven { url 'https://maven.aliyun.com/repository/public/' } mavenCentral()}dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' }}test { useJUnitPlatform()}