須先安裝 Java, Groovy 和 Gradle
linux:~ # mkdir hello
linux:~ # cd hello
linux:~/hello # gradle init
linux:~/hello # mkdir -p src/main/{groovy,java}
# 設定 build file
linux:~/hello # vi build.gradle
group 'com.mytool'
version '1.0-SNAPSHOT'
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'application'
# 設定主程式的 java/groovy file
mainClassName = "Hello"
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.8'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
# Java 範例
linux:~/hello # vi src/main/java/Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello");
}
}
# Groovy 範例
linux:~/hello # vi src/main/groovy/hi.groovy
println "Hi"
linux:~/hello # vi cat src/main/groovy/Hey.groovy
class Hey {
public static void main(String[] args) {
println "Hey"
}
}
# 目錄結構
linux:~/hello # tree
.
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
└── main
├── groovy
│ ├── Hey.groovy
│ └── hi.groovy
└── java
└── Hello.java
# 建立套件
linux:~/hello # gradle build
linux:~/hello # gradle distZip
# 套件會在 build/distributions 目錄下
linux:~/hello # unzip build/distributions/hello-1.0-SNAPSHOT.zip
linux:~/hello # ./hello-1.0-SNAPSHOT/bin/hello
# 使用 java 指令方式執行 jar
linux:~/hello # cd hello-1.0-SNAPSHOT/lib
linux:~/hello/hello-1.0-SNAPSHOT/lib # java -cp hello-1.0-SNAPSHOT.jar Hello
linux:~/hello/hello-1.0-SNAPSHOT/lib # java -cp ./groovy-all-2.4.8.jar:hello-1.0-SNAPSHOT.jar hi
linux:~/hello/hello-1.0-SNAPSHOT/lib # java -cp ./groovy-all-2.4.8.jar:hello-1.0-SNAPSHOT.jar Hey