Gradle学习笔记(1)创建简单的Java项目
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包,如下图:
<center>

</center>
bingo,终于运行成功了!这对于一个初学Gradle的人来说,是一件多人令人欢欣鼓舞的事情!
  本次分享到此结束,欢迎大家交流~~
Gradle学习笔记(1)创建简单的Java项目的更多相关文章
- 【Tool】使用IDEA创建简单的Java项目
IDEA创建简单的Java项目 打开IDEA进入首页面,点击 Create New Project 点选第一项就是了,SDK就是我们的JDK,,这里我已经装好了JDK和JDK的环境变量 IDEA就能自 ...
- Redis学习笔记之二 :在Java项目中使用Redis
成功配置redis之后,便来学习使用redis.首先了解下redis的数据类型. Redis的数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set( ...
- .net Core学习笔记1 创建简单的 .net core项目
1.打开vs2017>Web 1:创建实体类: namespace ProductMvc.Models { //商品类型 public class ProductType { public in ...
- 【系列教程1】Gradle入门系列二:第一个Java项目
这篇教程的主要内容是讲解如何用Gradle编译和打包一个简单的Java项目. 该Java项目只有一个需求:我们的构建脚本必须创建一个可执行的Jar文件,换句话说,我们必须能够使用命令java -jar ...
- Java学习笔记-多线程-创建线程的方式
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
Spring MVC 学习笔记8 -- 实现简单的用户管理(4)用户登录 增删改查,login 1. login.jsp,写在外面,及跟WEB-INF同一级目录,如:ls Webcontent; &g ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
- Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息
Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...
随机推荐
- web版ssh的使用
一.web_ssh版本安装使用 web_ssh源码:https://github.com/shellinabox/shellinabox 1)安装依赖包 yum install git openssl ...
- FJOI2018 部分题解
领导集团问题 考虑对每一个点暴力dpdpdp:fi,jf_{i,j}fi,j表示iii为根的子树选出来的点集最小值不小于jjj的点集元素个数最大值. 那么显然fi,j=∑max{fv,k≥j}+1 ...
- Codeforces Round #486 (Div. 3) A. Diverse Team
Codeforces Round #486 (Div. 3) A. Diverse Team 题目连接: http://codeforces.com/contest/988/problem/A Des ...
- MFC源码解读(一)最原始一个MFC程序,手写不用向导
从这一篇开始,详细记录一下MFC的源码解读 四个文件,分别为: stdafx.h,stdafx.cpp,hello.h,hello.cpp 代码如下: //stdafx.h #include < ...
- 1.1初识python
1.目前大量的公司都在使用python,功能强大很是牛逼! 2.运维要懂开发,做个全栈的工程师贼牛逼 3.python是一个解释型语言,编译型和解释型的区别是: ①编译型语言由编译器(Compiler ...
- 查看服务器tcp连接及服务器并发
一.查看哪些IP连接本机netstat -an二.查看TCP连接数1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议连接数 ...
- Alpha阶段项目复审(冲鸭队)
Alpha阶段项目复审(冲鸭队) 组名 优点 缺点 排名 天冷记得穿秋裤队 支持文件离线开源下载,没有限速 部分功能未实现 1 中午吃啥队 点餐系统用户需求较高,系统功能完善 界面可以再完善一下些 2 ...
- 2月第3周业务风控关注|上海网信办复测23个被约谈APP 涉及1号店、小红书等
易盾业务风控周报每周呈报值得关注的安全技术和事件,包括但不限于内容安全.移动安全.业务安全和网络安全,帮助企业提高警惕,规避这些似小实大.影响业务健康发展的安全风险. 1.上海网信办复测23个被约谈A ...
- 牛客JS编程大题(二)
11.统计数组 arr 中值等于 item 的元素出现的次数 function count(arr, item) { var num = 0; for(var i = 0;i < arr.len ...
- Spring Data Solr的分组查询 for 搜索面板的商品分类
private List searchCategoryList(Map searchMap) { SimpleQuery query = new SimpleQuery(new Criteria(&q ...