Gradle是一個基于Apache Ant和Apache Maven概念的項目自動化建構工具。它使用一種基于Groovy的特定領域語言(DSL)來聲明項目設定,抛棄了基于XML的各種繁瑣配置。目前其支援的語言限于Java、Groovy、Kotlin和Scala,主要面向Java應用。
本次分享将具體講述如何利用Gradle來建立一個簡單的Java項目。
首先我們建立一個檔案夾javaProgram作為展示的Java項目。
接着輸入以下指令進行項目布局:
cd javaProgram
touch build.gradle
mkdir -p src/main/java
mkdir -p src/main/resources
mkdir -p src/test/java
mkdir -p src/test/resources
先建立了build.gradle,這是我們用Gradle來建立項目必不可少的gradle檔案。build.gradle中的代碼如下:
apply plugin: 'java'
這是用來定義Java項目。接着建立檔案夾,這是Java項目開發中習慣性的建構方法。
布局完畢後,我們就可以加入自己的packagele. 在/src/main/java中建立guess檔案夾,在該檔案夾下建立GuessNumber.java,其完整代碼如下:
package guess;
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
//Generate a number to be guessed
int number = (int)(Math.random()*101);
Scanner input = new Scanner(System.in);
System.out.println("Guess a number between 0 and 100");
int guess = -1;
while(guess != number) {
//Prompt the user to guess the number
System.out.print("\nEnter your guess: ");
guess = input.nextInt();
if(guess == number)
System.out.println("Yes, the number is "+number);
else if(guess > number)
System.out.println("Your guess is too high!");
else
System.out.println("Your guess is too low!");
}//End of loop
}
}
該代碼用于模拟猜數字遊戲,具體代碼并不是本次分享的重點。
再切換到javaProgram下,運作以下指令來建構項目:
gradle build
運作結果如下:
此時我們發現javaProgram檔案夾下會多出build檔案夾,如下圖:
其中build檔案夾的樹形結構如下:
可以看到,在build/libs檔案夾下生成了javaProgram.jar包,而這正是我們需要的jar包。嘗試着運作這個jar包:
運作出錯,并且出錯資訊為“no main manifest attribute”,這是因為我們并沒有在jar包中配置主類(main class).
是以,接下來的一步,也是最後一步:配置main class. 這隻需要将build.gradle中修改如下:
apply plugin: 'java'
jar {
manifest {
attributes 'Main-Class': 'guess.GuessNumber'
}
}
再次運作“gradle build”建立(build)項目,将會重新生成javaProgram.jar包。
我們嘗試着再次運作jar包,如下圖:
bingo,終于運作成功了!這對于一個初學Gradle的人來說,是一件多人令人歡欣鼓舞的事情!
本次分享到此結束,歡迎大家交流~~