在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初识的更多相关文章

  1. com.panie 项目开发随笔_爬虫初识(2017.2.7)

    (一) 本章打算研究一下爬虫.我想用爬虫简单的爬取几篇文章,以及收集一下常用网站的信息. (二) 以开源项目 JAVA爬虫 WebCollector 为源码研究.在此基础上改为适合自己项目的代码. ( ...

  2. 01-flask电商项目开发基础配置

    本项目前端采用vue-cli的脚手架,后端采用Flask的Web框架.项目通过完成用户管理.权限管理.商品管理.订单管理.统计管理等功能,综合了前后端的知识,希望使大家都能受益. 1.使用到的技术如下 ...

  3. 0.1 Maven相关知识(项目开发基础)

    一.Maven 1.1Maven是什么 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. Maven这个单词来自于意第绪语(犹太语),意为知识的 ...

  4. 项目开发-->基础功能汇总

    祭奠曾经逝去的青春…… 1.基础功能汇总-->身份认证及用户登录模块 2.基础功能汇总-->一键登录功能汇总 3.堆和栈 4.变量

  5. VS Code Java 2 月更新!教育特别版:单元测试、GUI开发支持、Gradle项目创建、以及更多!

    新春快乐!欢迎来到 Visual Studio Code Java 的 2 月更新,这个月我们给大家带来了一期教育特别版.每年的年初是许多学校开学的时间,为了给学生和教师提供在 Visual Stud ...

  6. ReadHub项目Kotlin版开发指南(三、MVP架构)

    ReadHub项目Kotlin版转换指南(一.环境搭建) ReadHub项目Kotlin版转换指南(二.数据库和网络请求) ReadHub项目Kotlin版转换指南(三.MVP架构) Android ...

  7. 今天介绍一下自己的开源项目,一款以spring cloud alibaba为核心的微服务架构项目,为给企业与个人提供一个零开发基础的微服务架构。

    LaoCat-Spring-Cloud-Scaffold 一款以spring cloud alibab 为核心的微服务框架,主要目标为了提升自己的相关技术,也为了给企业与个人提供一个零开发基础的微服务 ...

  8. Git项目协同开发学习笔记1:项目库开发基础git命令

    这年头git基本都是项目开发的标配,之前刚好碰到了就花了两天时间系统学习了下.本文内容基本来自以下tutorial:Learn Git(建议直接去看原文,因为这个网站是有更新的).这个是我看过对git ...

  9. Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录

    一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导 ...

随机推荐

  1. SOA简介

    1.你可以把SOA理解为一种概念,总的来说就是面向服务的设计. 这个概念简单来理解就是把之前所谓的模块划分做成服务. 比如之前的日志模块,需要引用你的dll,调用你的写日志方法来写日志.这样当有多个系 ...

  2. linux常用命令(10)more命令

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...

  3. python安装二进制k8s 1.11.0 一个master、一个node 查看node节点是主机名---apiserver无法启动,后来改了脚本应该可以

    一.脚本说明: 本实验中master.node.etcd都是单体. 安装顺序为:先安装test1节点主要组件,然后开始安装test2节点,最后回头把test1节点加入集群中,这样做目的是理解以后扩容都 ...

  4. redis外网无法连接问题

    1.外网无法连接redis 解决方法: 把redis.conf里的bind 127.0.0.1注释掉,不行的话把127.0.0.1修改成0.0.0.0 2.make的时候显示没有gcc 解决方法: 安 ...

  5. thinkphp6.0 nginx 配置

    location / {     index index.php;     #如果文件不存在则尝试TP解析     if (!-e $request_filename) {        rewrit ...

  6. Tensorflow 从文件中载入训练数据

    本节包含: 用纯文本文件准备训练数据 加载文件中的训练数据 一.用纯文本文件准备训练数据 1.数据的数字化 比如,“是” —— “1”,“否” —— “0” “优”,“中”,“差” —— 1 2 3  ...

  7. 各品牌电脑进BIOS大全

    摘要:电脑进入BIOS方法都各不相同,不同品牌不同型号的电脑进入BIOS的方法都是不同的.....      现在重装系统的方法越来越多了,大多数都是靠外物来重装系统,比如说光盘.U盘.移动硬盘等.这 ...

  8. 【Python开发】查看数据类型

    import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is i ...

  9. 深入理解分布式系统的2PC和3PC

    协调者 在分布式系统中,每一个机器节点虽然都能明确的知道自己执行的事务是成功还是失败,但是却无法知道其他分布式节点的事务执行情况.因此,当一个事务要跨越多个分布式节点的时候(比如,淘宝下单流程,下单系 ...

  10. Struts 2访问Servlet API

    在servlet中可以通过servlet API来获取Session,在Struts中如何获取Session呢? 解析:将用户名放入session 两种方案 1. 与Servlet API解耦的访问方 ...