项目自动化建构工具gradle 入门1——输出helloWorld
先来一个简单的例子,4个步骤:
1、进入D:\work\gradle\java 目录 ,您电脑没这目录? 那辛苦自己一级一级建立起来吧
新建文件build.gradle,文件内容是:
apply plugin: 'java' // 引入java插件,
jar { //当然若是我们将此jar包提交给别人使用而不是运行,则当删除或者注释掉此 jar 部分
manifest { //配置 Manifest文档属性
attributes 'Main-Class': 'lion.Hello' //指定程序入口
}
}
2、进入目录:D:\work\gradle\java\src\main\java\lion ,您电脑没这目录? 那辛苦自己一级一级建立起来吧
新建文档 Hello.java ,键入内容:
package lion;
public class Hello{
public static void main(String [] args){
System.out.println("hello,liyong,welcome to gradle");
}
}
3、返回目录:D:\work\gradle\java,
打开cmd进入该目录,键入: gradle assemble

4、打开目录 D:\work\gradle\java\build\libs
打开cmd进入该目录,键入:java –jar java.jar
此时看到 console 输出了 hello,liyong,welcome to gradle

整个例子很简单,如果你只需要简单实用java se 例子。到此您可以撤退了。
下面开始讲讲整个过程中用到的一些东西。
步骤1:
build.gradle 是干什么的:他是gradle 的构建脚本,用来告诉gradle 要干啥事。
build.gradle 里面的代码是啥意思:
// 双斜杠 是注释
第一行:告诉gradle ,这是一个java 应用。当然背后干活的gradle的插件,因为gradle把所有具体的业务工作都让插件做了,所以我们这里引入一个能做java相关工作的插件java。当然gradle还有很多其他的插件,后续后介绍,当然您也可以直接看https://docs.gradle.org/current/userguide/plugins.html#sec:using_plugins 页面。
第二行到最后:告诉gradle 我生成的jar包,需要制定一些的属性。比如从哪个类启动。当然你可以把这部分删掉,再执行步骤3,4看看,是不是告诉你这样的

步骤2:D:\work\gradle\java 是根目录。所有的目录都是基于此目录;
在这个目录下,默认代码目录结构:
- src/main/java目录包含了项目的源代码。
- src/main/resources目录包含了项目的资源(如属性文件)。
- src/test/java目录包含了测试类。
- src/test/resources目录包含了测试资源。
举例而言:
D:\work\gradle\java\src\main\java 目录下放所有项目的java源代码。所以步骤2中 java文件的包路径是 log。
D:\work\gradle\java\src\main\resources 所有配置文件则应该都放到该文件夹里。
步骤3: gradle assembly 是将java工程打成jar包,必须在一个含有build.gradle 的目录 才能执行此命令。
gradle的其他常用的命令就不罗列了。不会就直接敲 gradle,看看怎么用。最直接就是敲 gradle tasks 看看能用哪些指令。
生成文件的目录结构也很简单:生成的文件都在根目录(D:\work\gradle\java)下的build文件夹中。
libs 下生成的产品,命名呢是由根目录名决定的,所以这里就是java.jar,tmp临时文件
步骤4 :这个怎么跑程序就不属于gradle范围了,略过。如果不会直接百度。
项目自动化建构工具gradle 入门1——输出helloWorld的更多相关文章
- 项目自动化建构工具gradle 入门2——log4j输出helloWorld
上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录 ,您电脑没 ...
- 项目自动化建构工具gradle 入门4——javaWeb在浏览器中显示helloWorld
在java应用中,其实做的最多的还是java web应用.所以现在我们做的就是用gradle构建一个简单的web项目,简单点,直接上代码吧. 1.进入目录D:\work\gradle\web,新建文件 ...
- 项目自动化建构工具gradle 入门3——生一个exe的helloWorld
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...
- 项目自动化建构工具gradle 入门5——在intellij中做一个gradle的web工程
之前的几个小节,都是纯手工建文件夹,纯手工拷贝war包,或者纯手工解压个zip看看结果,,,,这还是我写了玩的helloWorld.若是玩大工程.几十个人的团队协同开发时,这么玩,,,,暴躁的程序员估 ...
- 项目自动化建构工具gradle 入门0——环境 & 废话
gradle 是一个项目自动化构建工具.同类的产品还有ant ,maven等等.相比之下我更喜欢gradle,它语法简洁.兼容maven.ide集成很好. 学习使用gradle最快的方式是看文档,而且 ...
- 前端项目自动化构建工具——Webpack入门教程
参考资料:https://www.webpackjs.com/(中文文档) https://www.webpackjs.com/(官方文档) 首先有必要说明一下,本文侧重讲解webpack基本配置 ...
- 基于 Groovy 的自动化构建工具 Gradle 入门(转)
本人工作之初没有使用自动化构建,后来敏捷了,开始使用 Ant - 完全面向过程的定义步骤,不进行依赖管理.再发展到 Maven,面向对象的方式管理工程,有了依赖的管理,JAR 包统一从中央仓库获得,保 ...
- 自动化构建工具gradle安装教程(使用sdkman安装)
gradle是什么?(wiki解释) Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的 ...
- gulp前端自动化构建工具新手入门篇
很久没有更新博文了. 经过了一次年前吐血的赶项目,终于在年后回血了.趁着有空,新学到了一个前端自动化构建工具-gulp. 现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gul ...
随机推荐
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
- 认识 Azure
本文为官网摘录总结
- 在ASP.NET Core应用中如何设置和获取与执行环境相关的信息?
HostingEnvironment是承载应用当前执行环境的描述,它是对所有实现了IHostingEnvironment接口的所有类型以及对应对象的统称.如下面的代码片段所示,一个HostingEnv ...
- .NET Core的日志[3]:将日志写入Debug窗口
定义在NuGet包"Microsoft.Extensions.Logging.Debug"中的DebugLogger会直接调用Debug的WriteLine方法来写入分发给它的日志 ...
- 【开源】.Net 动态脚本引擎NScript
开源地址: https://git.oschina.net/chejiangyi/NScript 开源QQ群: .net 开源基础服务 238543768 .Net 动态脚本引擎 NScript ...
- 关于Raid0,Raid1,Raid5,Raid10的总结
RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就 ...
- 【置顶】CoreCLR系列随笔
CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔 ...
- 前端性能优化的另一种方式——HTTP2.0
最近在读一本书叫<web性能权威指南>谷歌公司高性能团队核心成员的权威之作. 一直听说HTTP2.0,对此也仅仅是耳闻,没有具体研读过,这次正好有两个篇章,分别讲HTTP1.1和HTTP2 ...
- 修改session垃圾回收几率
<?php //修改session垃圾回收几率 ini_set('session.gc_probability','1'); ini_set('session.gc_divisor','2'); ...
- StatePattern(状态模式)
/** * 状态模式 * @author TMAC-J * 状态模式和策略模式很像,其实仔细研究发现完全不一样 * 策略模式各策略之间没有任何关系,独立的 * 状态模式各状态之间接口方法都是一样的 * ...