在IDEA中创建Gradle项目
目录树如图
Groovy
- 基于Java的脚本语言
IDEA中使用
- 可以省略最后语句的分号
- 可以省略括号
println("hello");
def i = "hi";
def list = ["a", 2];
def map = ['k1': 'a', 'k2': '2'];
map.k3 = '3';
println(list.get(1));
println(map.get('k3'))
闭包
闭包是一个短的匿名代码块。它通常跨越几行代码。一个方法甚至可以将代码块作为参数。它们是匿名的。
案例一:
//定义一个闭包
def b = {
println("hello")
}
//定义一个方法 传入闭包类型变量
def c(Closure closure) {
closure()
}
c(b)
输出
hello
案例二:
//带有参数的闭包
def b={
v ->
println("hello ${v}")
}
def c(Closure closure){
closure("传入参数")
}
c(b)
输出
hello 传入参数
配置Gradle
https://mvnrepository.com/在仓库中可以找到坐标
使Gradle使用本地Maven仓库
//指定使用的仓库
//mavenCentral()表示表示使用中央仓库
//以下配置表示先在本地仓库找,再在中央仓库找
repositories {
mavenLocal()
mavenCentral()
}
build.gradle
配置
plugins {
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
//指定使用的仓库
//mavenCentral()表示表示使用中央仓库
//以下配置表示先在本地仓库找,再在中央仓库找
repositories {
mavenLocal()
mavenCentral()
}
//Gradle工程的JAR包坐标在dependencies属性配置
//坐标由三个元素组成group,name,version
//testCompile表示该JAR包在测试时起作用
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile group: 'io.vertx', name: 'vertx-circuit-breaker', version: '4.0.0-milestone4'
}
Web工程构建
- Gradle 为 Web 开发提供了两个主要插件,War plugin 和 Jetty plugin。 其中 War plugin 继承自 Java plugin,可以用来打 war 包。jetty plugin 继承自 War plugin 作为工程部署的容器。
- 需要打包 War 文件,需要在脚本中使用 War plugin:
build.gradle
`apply plugin: 'war'` - 新建
webapp
文件夹
拆分和聚合
- 创建父工程
- 右键父工程新建
Modle
settings.gradle
中会自动`子工程- 父工程的
build.gradle
创建allprojects {}
子工程会共用 子工程之间引用
dependencies { compile project(":引用模块工程名") }
版权属于:moluuser
本文链接:https://archive.moluuser.com/archives/49/
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。