kotlin项目开发基础之gradle初识
在Android Studio推出之后默认的打包编译工具就变为gradle了,我想对于一名Android程序员而言没人不对它知晓,但是对于它里面的一些概念可能并不是每个人都了解,只知道这样配置就ok了,既然天天在用Gradle,那对于它里面的一些概念有必要了解一下,所以下面开始:
程序猿中的原始人:
对于传统开发过程而言,一般会开发到部署会经过以下几个过程:

而上面这个过程通过eclipse就可以体会到,相比IntelliJ IDEA而言它要原始很多,所以下面用eclipse来演示一下上面的整个过程,举得例子也比较简单:
编译:
先新建一个测试工程,然后新建一个类:

测试:
当业务方法编写好之后咱们应该对其进行测试,所以测一下测试用例对该方法进行测试:

手动依赖管理:
接下来需要导入junit测试jar到工程来将此方法标识为可以测试的,如下:


接下来断言一下:

然后再右键点击运行既可查看此方法的测试情况:


当方法测试通过之后,接下来就可以编写main方法来调用该业务方法了:

打包:
当程序编写完成之后,接下来则需要将它打包并发布到服务器上,所以接下来进行打包:


此时就生成了一个可运行的jar:

然后可以执行一下它:

上传服务器:
最后就是将上面打成的jar上传到服务器则完成了整个项目的打包部署工作啦。对于上面的整个步骤大家可能觉得很顺期自然,但是当有了gradle之后,一切变得是多么的简单,所以接下来正式来接触一下它。
gradle的简单介绍:
在正式了解gradle之前先来对其历史有一个了解:

其中Ant我想这个每个学习java的人应该都或多或少接触过,需要编写一大堆xml的配置信息,而Maven既使没用过应该也听说过,最后就是既将要讨论的主题Gradle,对于它们的作用用图下图片进行说明:

可见一个工具比一个工具强大,那Gradle倒底是个什么东东呢?下面用文字来解释一下:


而gradle的官网是:https://gradle.org/,打开之后可以看到一个很醒目的图,如下:

意思就是:

其中还做了一个针对Maven做了一个对比,如下:


而且还用了一个图表来对其进行了一个更直观的对比:

另外还有其它更多的一些性能图表对比,一句话~~gradle比maven切牛逼多了,学习使用它刻不容缓。
gradle的入门演示:
接下来则正式开始使用它, 首先当然是要下载相关资源喽,依照官方文档来:


下载下来之后则将其路径加入到path当中,以便在命令行中可以直接使用gradle命令:

kotlin项目开发基础之gradle初识的更多相关文章
- com.panie 项目开发随笔_爬虫初识(2017.2.7)
(一) 本章打算研究一下爬虫.我想用爬虫简单的爬取几篇文章,以及收集一下常用网站的信息. (二) 以开源项目 JAVA爬虫 WebCollector 为源码研究.在此基础上改为适合自己项目的代码. ( ...
- 01-flask电商项目开发基础配置
本项目前端采用vue-cli的脚手架,后端采用Flask的Web框架.项目通过完成用户管理.权限管理.商品管理.订单管理.统计管理等功能,综合了前后端的知识,希望使大家都能受益. 1.使用到的技术如下 ...
- 0.1 Maven相关知识(项目开发基础)
一.Maven 1.1Maven是什么 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. Maven这个单词来自于意第绪语(犹太语),意为知识的 ...
- 项目开发-->基础功能汇总
祭奠曾经逝去的青春…… 1.基础功能汇总-->身份认证及用户登录模块 2.基础功能汇总-->一键登录功能汇总 3.堆和栈 4.变量
- VS Code Java 2 月更新!教育特别版:单元测试、GUI开发支持、Gradle项目创建、以及更多!
新春快乐!欢迎来到 Visual Studio Code Java 的 2 月更新,这个月我们给大家带来了一期教育特别版.每年的年初是许多学校开学的时间,为了给学生和教师提供在 Visual Stud ...
- ReadHub项目Kotlin版开发指南(三、MVP架构)
ReadHub项目Kotlin版转换指南(一.环境搭建) ReadHub项目Kotlin版转换指南(二.数据库和网络请求) ReadHub项目Kotlin版转换指南(三.MVP架构) Android ...
- 今天介绍一下自己的开源项目,一款以spring cloud alibaba为核心的微服务架构项目,为给企业与个人提供一个零开发基础的微服务架构。
LaoCat-Spring-Cloud-Scaffold 一款以spring cloud alibab 为核心的微服务框架,主要目标为了提升自己的相关技术,也为了给企业与个人提供一个零开发基础的微服务 ...
- Git项目协同开发学习笔记1:项目库开发基础git命令
这年头git基本都是项目开发的标配,之前刚好碰到了就花了两天时间系统学习了下.本文内容基本来自以下tutorial:Learn Git(建议直接去看原文,因为这个网站是有更新的).这个是我看过对git ...
- Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录
一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导 ...
随机推荐
- JavaScript基础入门04
目录 JavaScript 基础入门04 JavaScript 对象 介绍 关于键名 对象的引用 语句和表达式需要注意的地方 对象属性常见的操作 with语句 JSON 特点 语法规则 JSON合法示 ...
- Beego框架的一条神秘日志引发的思考
公司目前的后台是用Beego框架搭的,并且为了服务的不中断升级,我们开启了Beego的Grace模块,用于热升级支持.一切都跑井然有序,直到有一天,领导甩出一些服务日志,告知程序一直报错: 2018/ ...
- 【Git】工作中99%能用到的git命令
Git使用笔记 1.第一次使用github ============================================= 1)github注册账号 使用邮箱注册账号 先不要创建版本库 2 ...
- 深入源码分析Spring中的构造器注入
# 1. 示例 构造器注入类,分别有三个构造器,一个是无参构造器,一个是注入一个Bean的构造器,一个是注入两个Bean的构造器: public class ConstructorAutowiredT ...
- Java组件介绍
1.String string对象的不变性.被final关键字修饰. 使用charat方法替代startwith/endwith方法(提高性能) 使用buffer(方法同步,性能较差)和builder ...
- 用户及用户组管理(week1_day4)
本节内容 useradd userdel usermod groupadd groupdel 用户管理 为什么需要有用户? 1. linux是一个多用户系统 2. 权限管理(权限最 ...
- pigcms研究
{s:5:"price";s:2:"20";s:3:"num";i:2;s:4:"name";s:21:"紫薯 ...
- 论文阅读 | Real-Time Adversarial Attacks
摘要 以前的对抗攻击关注于静态输入,这些方法对流输入的目标模型并不适用.攻击者只能通过观察过去样本点在剩余样本点中添加扰动. 这篇文章提出了针对于具有流输入的机器学习模型的实时对抗攻击. 1 介绍 在 ...
- MVC、MVP、MVVM模式的概念与区别
1. MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示 ...
- [c++] WINAPI
int WINAPI WINMain 中,WINAPI含义 在windef.h头文件中有如下定义: #define WINAPI __stdcall #define APIENTRY WINAPI 函 ...