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
运行结果如下:
![gradle build](https://i-blog.csdnimg.cn/blog_migrate/413255479eeff85cb86c1698894b8508.png)
此时我们发现javaProgram文件夹下会多出build文件夹,如下图:
![javaProgram文件夹](https://i-blog.csdnimg.cn/blog_migrate/2e3d2482a3a74365ed7e50ab36cf4a5d.png)
其中build文件夹的树形结构如下:
![build文件夹](https://i-blog.csdnimg.cn/blog_migrate/cbf11aa68122534aea5038cb4e67bbdc.png)
可以看到,在build/libs文件夹下生成了javaProgram.jar包,而这正是我们需要的jar包。尝试着运行这个jar包:
![运行jar包](https://i-blog.csdnimg.cn/blog_migrate/9c29e7288c96122c137bc291bf0c7819.png)
运行出错,并且出错信息为“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包,如下图:
![再次运行jar包](https://i-blog.csdnimg.cn/blog_migrate/15936c0dd435b5cba01f374d88e1c99c.png)
bingo,终于运行成功了!这对于一个初学Gradle的人来说,是一件多人令人欢欣鼓舞的事情!
本次分享到此结束,欢迎大家交流~~