Gradle安装
下载安装
官网下载
(需要电脑上有jdk)
国内
https://services.gradle.org/distributions/
配置环境变量
GRADLE_HOME
:解压之后的目录(注意它的下级目录有bin
)- 添加到
PARH
:%GRADLE_HOME%in;
- 验证:
gradle -v
修改配置
仓库
- 新建环境变量
GRADLE_USER_HOME
E:data.gradle # 位置
- 修改默认文件下载位置
- 编辑
bingradle.bat
,在其中加上
- 编辑
set GRADLE_OPTS="-Dgradle.user.home=E:data.gradle"
中文问题
- 使用构建工具gradle打包时,遇到的中文问题和解决方式(提示GBk...)
- 对于gradle2.0以前的版本,在build.gradle的最后加上(很少,现在都到6了)
tasks.withType(Compile) {
options.encoding = "UTF-8"
}
- 对于gradle2.0以后的版本,在build.gradle的最后加上
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
加速
在仓库的根目录创建gradle.properties
,添加
org.gradle.daemon=true
gradle项目
- idea--file--new--gradle--java--next--设置groupId和artifactId
- 打开Groovy的控制台:
Tools
--Groovy Console
- 目录结构
- src/main/
java
:放置正式代码目录 - src/main/
resouces
:放置正式配置文件目录 - src/test/
java
:放置单元测试代码目录 - src/test/
resources
:放置测试配置文件目录 - src/main/
webapp
:放置页面元素,比如:js,css,img,jsp,html等等 - build.gradle:配置文件,类似pom.xml文件
- src/main/
plugins {
id 'java' //运行环境
}
group 'org.example'
version '1.0-SNAPSHOT'
/*指定所使用的仓库*/
repositories {
mavenLocal() //默认先从本地仓库找
mavenCentral()//中央仓库:默认下载仓库
}
/*gradle所有的jar包坐标
* 每一个jar包坐标有三个基本元素 group,name,version
* testCompile 表示这个jar包在测试的时候起作用,是jar包的作用域
* */
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
// 添加依赖:从maven仓库复制gradle的配置,粘贴即可,在.gradlecachesmodules-2files-2.1中能看到下载的依赖
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc', version: '2.0.1.RELEASE'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.3'
}
- 打包:在gradle面板--项目--Tasks--build--jar
在项目的
根路径/build/libs
中就会生成jar包 - 引入依赖就可以用了
import org.apache.commons.lang3.StringUtils;
/**
* @author jingshiyu
* @date 2020/6/28 16:00:26
* @desc
*/
public class Test1 {
public static void main(String[] args) {
String aa="121";
if (StringUtils.isBlank(aa)){
System.out.println("12321443243");
}else{
System.out.println(aa);
}
}
}
整合springboot项目
2.0.1版的时候,gradle使用的是5.6.4
左右的,版本不能太高
案例
plugins {
id 'org.springframework.boot' version '2.0.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
group = 'com.gradle'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenLocal()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven { url 'http://192.168.3.37:8081/nexus/content/groups/public/'}
maven { url 'http://maven.oschina.net/content/groups/public/'}
maven { url 'https://mirrors.huaweicloud.com/repository/maven/'}
maven { url 'http://myrepo.net/repo/'}
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
gradle多项目
1.创建一个gradle项目
2.在根目录继续创建gradle项目(会自动将这个模块添加到父模块中(在settings.gradle
文件中可以看到))
rootProject.name = 'sbtest1'
include 'service1' //子模块
include 'dao1' //子模块
3.在父模块中添加统一的gradle配置
allprojects{
gradle的所有配置
}
//其实就是将gradle的配置用allprojects{}包起来,这样这些配置就可以在所有模块中通用了,父模块中有的,子模块中就不需要设置了
4.子模块调用另一个子模块内容(比如service模块调用dao模块)
//service专门把这个子模块引入即可
dependencies {
compile project(":dao1") //子模块名不清楚的,在settings.gradle中看
}