使用 Gradle 快速创建 Java 项目
上一篇介绍了如何安装 Gradle,现在就可以直接通过已经安装好的 Gradle 创建一个普通 Java 项目
Gradle 默认内建了一个 init 插件,可以生成 Java 项目基础结构
$ gradle init --type <name>
其中的 name 可以是以下值
- java-application
- java-library
- scala-library
- groovy-library
- basic
这篇文章使用 java-application,先创建一个文件夹用来保存即将编写的项目代码
$ mkdir java-demo
$ cd java-demo
创建项目
在 java-demo 文件夹内,执行 gradle init 任务,创建一个新 Java 项目
$ gradle init --type java-application
Starting a Gradle Daemon (subsequent builds will be faster)
BUILD SUCCESSFUL in 3s
2 actionable tasks: 2 executed
gradle init 执行成功之后的目录结构如下:
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
├── main
│ └── java
│ └── App.java
└── test
└── java
└── AppTest.java
先忽略其他文件,直达目的地,看一下 gradle 自动生成的 App.java 代码
/*
* This Java source file was generated by the Gradle 'init' task.
*/
public class App {
public String getGreeting() {
return "Hello world.";
}
public static void main(String[] args) {
System.out.println(new App().getGreeting());
}
}
非常单纯的功能,只是打印 Hello world. 字符串
编译项目
现在有 2 种方式来编译这个示例项目
- 通过本机安装好的 gradle 命令编译
- 通过当前项目根目录下的 gradlew 命令编译(官方推荐的使用方式)
这两种方式有什么不同,用第 gradlew 命令种方式有什么好处,我会单独写一篇文章进行介绍
$ ./gradlew build
BUILD SUCCESSFUL in 2s
7 actionable tasks: 7 executed
运行项目
由于一开始指定 --type java-application 创建项目,所以现在可以直接通过命令行运行该项目
通过执行 ./gradlew tasks 命令可以查看有哪些任务可以供==当前项目==执行
$ ./gradlew tasks
------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
Application tasks
-----------------
run - Runs this project as a JVM application
... 省略其他自带的任务
可以看到 Application tasks 列出了一个 run 任务,直接执行看下是什么结果
$ ./gradlew run
> Task :run
Hello world.
BUILD SUCCESSFUL in 0s
2 actionable tasks: 1 executed, 1 up-to-date
成功的输出了 Hello world. 也就是执行了 src/main/java/App.java 的 main 方法
来看一下 build.gradle
plugins {
id 'java'
id 'application'
}
mainClassName = 'App'
... 省略
由于这个配置文件告诉了 gradle 该项目的入口是 src/main/java/App.java
所以执行 ./gradlew run 命令的时候就会打印 Hello world.
至此,我们简单的、粗略的完成了如何使用 Gradle 新建一个 Java 项目,并进行编译、执行
这篇文章还有几个文件、文件夹没有介绍到,如下:
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
关于 gradlew (Gradle Wrapper) 的内容将会另开一篇介绍
更多内容查看 Gradle 官方文档 Building Java Application
原文出处:http://www.xiegangd.com/article/153483978582311
使用 Gradle 快速创建 Java 项目的更多相关文章
- 使用Gradle自动创建Java项目结构
D:\N3verL4nd\Desktop\java>tree 卷 本地磁盘 的文件夹 PATH 列表 卷序列号为 00000200 0006:08B0 D:. ├─.gradle │ ├─3.4 ...
- 2springboot:快速创建springboot项目
使用IDEA快速创建springboot项目流程: 创建新的项目选择 项目的命名以及包名 需要什么包就导入什么包 进行测试的单元 <dependency> <groupId>o ...
- Java开发环境的搭建以及使用eclipse从头一步步创建java项目
一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...
- IntelliJ IDEA创建java项目
IntelliJ IDEA创建java项目 进入到IntelliJ IDEA启动界面,点击Create New Project 2.这样就进入到了创建项目页面,这里可以创建好多项目,这里我们以java ...
- 一、IntelliJ IDEA创建java项目
一.IntelliJ IDEA创建java项目 二.IntelliJ IDEA下载并包含jdbc包 1.下载zip格式的驱动包:https://dev.mysql.com/downloads/conn ...
- 使用Maven创建Java项目
在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...
- Maven学习(十)-----使用Maven创建Java项目
所需要的工具: Maven 3.3.3 Eclipse 4.2 JDK 8 注意:请确保 Maven 是正确安装和配置(在Windows,*nix,Mac OSX系统中),然后再开始本教程,避免 mv ...
- 使用IDEA创建java项目(hello word)
前提:已安装好jdk,配置好环境变量.我使用的是java 8. 首先在自己的D盘下建一个文件夹,用来存放我们待会新建的项目,我创建了IdeaProject: 1,第一步打开idea 第二步选择创建ja ...
- Eclipse 创建 Java 项目
打开新建 Java 项目向导 通过新建 Java 项目向导可以很容易的创建 Java 项目.打开向导的途径有: 通过点击 "File" 菜单然后选择 New > Java P ...
随机推荐
- HeightCharts柱状图和饼状图
HTML: <div id="container1" style="height:350px; " ></div> <di ...
- Java-多线程第三篇3种创建的线程方式、线程的生命周期、线程控制、线程同步、线程通信
1.Java使用Thread类代表线程. 所有的线程对象必须是Thread类或其子类的实例. 当线程继承Thread类时,直接使用this即可获取当前线程,Thread对象的getName() ...
- kmp(多次无重叠匹配)
http://acm.hdu.edu.cn/showproblem.php?pid=2087 剪花布条 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面 ...
- 6个常用Java 源代码 保护工具(混淆、加密、底层)
6个常用Java 源代码 保护工具(混淆.加密.底层) ProGuard Java源代码保护工具ProGuard的3.6与4.1版 下载地址:http://download.csdn.net/sou ...
- c# 获取 Apk ,Aar 文件包名
最近项目有个需求,需要拿到前端上传的Apk或者Aar文件里面的包名. 在这里贡献出来,方便有需求的小伙伴. 项目是 asp.net core 2.2 需要安装 nuget : AndroidXml S ...
- topic模式下的收发
生产者: import pika import sys connection = pika.BlockingConnection(pika.ConnectionParameters( host='lo ...
- k3 cloud中提示总账期末结账提示过滤条件太长,请修改此过滤条件
k3 cloud中提示总账期末结账提示过滤条件太长,请修改此过滤条件,如下图所示: 处理方法: 请尝试系统配置文件common.config中将如附件所示的参数值改大,建议值为2000,并在系统清理缓 ...
- Linux筛选数据
grep命令:在文件中查找关键字,并显示所在行(Globally search a Regular Expression and Print) grep text file:在file文件中搜索tex ...
- lodash throttle和debounce
https://lodash.com/docs#debounce throttle(又称节流)和debounce(又称防抖)其实都是函数调用频率的控制器 throttle:将一个函数的调用频率限制在一 ...
- squid代理与缓存(上)
squid代理与缓存(上) 1. Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器. ...