Gradle学习笔记(1)创建简单的Java项目

简介:   Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

  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

此时我们发现javaProgram文件夹下会多出build文件夹,如下图:

javaProgram文件夹

其中build文件夹的树形结构如下:

build文件夹

可以看到,在build/libs文件夹下生成了javaProgram.jar包,而这正是我们需要的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包,如下图:


再次运行jar包

bingo,终于运行成功了!这对于一个初学Gradle的人来说,是一件多人令人欢欣鼓舞的事情!
  本次分享到此结束,欢迎大家交流~~

目录
相关文章
|
1月前
|
Java 应用服务中间件 开发工具
苍穹外卖》电商实战项目(java)知识点整理(上)
苍穹外卖》电商实战项目(java)知识点整理(上)
174 3
|
2月前
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
2月前
|
监控 负载均衡 Dubbo
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
37 0
|
25天前
|
人工智能 监控 算法
java智慧城管源码 AI视频智能分析 可直接上项目
Java智慧城管源码实现AI视频智能分析,适用于直接部署项目。系统运用互联网、大数据、云计算和AI提升城市管理水平,采用“一级监督、二级指挥、四级联动”模式。功能涵盖AI智能检测(如占道广告、垃圾处理等)、执法办案、视频分析、统计分析及队伍管理等多个模块,利用深度学习优化城市管理自动化和智能化,提供决策支持。
200 4
java智慧城管源码 AI视频智能分析 可直接上项目
|
2月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
40 0
|
9天前
|
监控 数据可视化 安全
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
环境实时数据、动态监测报警,实时监控施工环境状态,有针对性地预防施工过程中的环境污染问题,打造文明生态施工,创造绿色的生态环境。
8 0
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
|
11天前
|
SQL Java Go
java项目超市购物管理系统
java项目超市购物管理系统
|
11天前
|
Java
java项目日历表
java项目日历表
|
23天前
|
Java Maven
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
11 0