本篇中Gradle版本由6.8.1降为了4.7

IDEA版本:2017.3

1、创建Gradle工程

  打开Idea,点击菜单 File --》New --》Project  

  

gradle idea javafx发布 idea运行gradle项目_Java

   点击 Next ,出现如下界面:

  

gradle idea javafx发布 idea运行gradle项目_Gradle_02

   点击 Next,选择本地解压的Gradle,出现如下界面: 

  

gradle idea javafx发布 idea运行gradle项目_Groovy_03

注意:如果使用IDEA2017,则不能使用gradle6.x版本

 

   点击 Next,配置Project name、Project location等,界面如下:

  

gradle idea javafx发布 idea运行gradle项目_Gradle_04

  点击 Finish 完成。

  生成成功,则Gradle项目目录结构如下:

  

gradle idea javafx发布 idea运行gradle项目_Gradle_05

    该目录结构与Maven生成的目录结构是一模一样的。

  src/main/java 放置正式代码目录

  src/main/resources 放置正式配置文件目录

     src/test/java 放置单元测试代码目录

     src/test/resources 放置测试配置文件目录

     src/main/webapp 放置页面文件,例如jsp、js、css、images、html... 

 

友情提示:

  如果出现No such propety: GradleVersion for class: JetGradlePlugin提示,说明idea的版本和gradle版本不匹配导致的错误,降低gradle版本即可。

  

gradle idea javafx发布 idea运行gradle项目_Groovy_06

Gradle版本降低为4.7

  也可以使用IDEA最新版本。

 2、使用IDEA提供的Groovy编辑器进行Groovy开发

  在IDEA中,Tools --》Groovy Console...

  

gradle idea javafx发布 idea运行gradle项目_Java_07

  2.1、Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy也可以使用其他非Java语言编写的库。

    

gradle idea javafx发布 idea运行gradle项目_Java_08

      2.2、Groovy基本用法  

//Groovy是一门编程语言
println("hello groovy...1");

//Groovy可以省略语句末尾的分号
println("hello groovy...2")

//Groovy可以省略括号
println "hello groovy...3"


//如何定义变量
// 使用def关键字,是一个弱类型,相当于js中的var;
//groovy会根据具体赋值的情况赋予对应的类型
def age = 18;
println age
def str = "哈哈"
println str


//定义一个集合
def list = ['a', 'b']
//向list中添加元素
list << 'c'
//取出list中第三个元素
println list.get(2)


//定义一个map
def map = ['k1': 'v1', 'k2': 'v2']
//向map中添加元素
map.k3 = 'v3'
//打印k3的值
println map.get("k3")

 

 2.3、Groovy闭包

    什么是闭包?闭包其实就是一段代码块。在gradle中,我们主要把闭包当参数来是使用。

//定义一个闭包
def b1 = {
    println "hello 闭包"
}
//定义一个方法,方法里面需要闭包类型的参数
def m1(Closure closure) {
    closure()
}
//调用方法m1
m1(b1)

 

   带有参数的闭包:

//定义一个带参数的闭包
def b2 = {
    v ->
        println "hello ${v}"
}
//定义一个方法,方法里面需要闭包类型的参数
def m2(Closure closure) {
    closure("张三")
}
//调用方法m2
m2(b2)