ant构建项目迁移到gradle_Gradle构建工具

构建工具的作用:依赖管理;测试、打包、发布;机器能干的活,绝不自己动手。

主流构建工具:

(1)Ant:编译、测试、打包;

(2)Maven:依赖管理、发布;

(3)Gradle:Groovy,具有更高的灵活性和可扩展性。

Gradle一个项目自动化构建工具

xml过于臃肿,使用groovy的扩展性更好些,能更好地管理“构建脚本”

一个开源的项目自动化构建工具,建立在Apache Ant和Apache Maven概念的基础之上,并引入了基于Groovy的特定领域语言(DSL),而不再是使用XML形式管理构建脚本

Q:为什么需要构建工具?

A:如果没有构建工具:依赖,测试,打包,上传

1. 一个各个去找包,放在lib里,少则几十,多则成百上千,难以管理,出现版本冲突会很麻烦

2. 测试的时候执行一个一个运行类中的main方法

3. 手动达成war包丢到服务器,还要把依赖的包上传到服务器中。。。

准备 使用gradle及第一个项目;基本原理 构建脚本介绍 依赖管理 ;深入实战 多项目构建 测试 发布

安装Gradle: https://gradle.org

配置环境变量:GRADLE_HOME

添加到path:;%GRADLE_HOME%bin;

验证是否安装成功:gradle -v

Groovy与Java比较:1.Groovy完全兼容Java语法。2.分号是可选的。3.类、方法默认为public。4.编译器会自动为属性生成get/set方法5.属性可以用点来获取 用最后一个表达式的值作为返回值;==等于直接调用equals方法,弱类型,括号可选,闭包

groovy 是用于java 虚拟机的一种敏捷的动态语言,是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言;

使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性;

gradle 弱类型的语言

没有主函数,可以在任意地方写程序

自定义类型 dev

输出函数括号可选,一般建议带括号,便于识别

arrayList 写法 dev buildTools={"ant","maven"} 添加元素 buildtools << "gradle"

hashMap 写法 dev buildTools={"ant":2009,"maven":2010} 添加元素 buildTools="gradl

向集合list中追加元素:

def mylist=['ant','maven']

mylist << 'gradle'

groovy里面的字符串:

单引号:常量字符串

双引号:可以加字符串变量

三引号:可以使字符串换行 例如 groovy字符串的特性1.'a':只是字符串2."a":里面可以连接变量$(b);3.'''a''':里面的字符串可以换行

前提:构建脚本中默认都是有一个project实例的;1.apply是project中的一个方法(根据groovy语言特性,括号可以省略)2.version是project中的一个属性变量3.repositories是一个方法,mavenCentral()是一个闭包,整体是一个调用闭包的方法4.同三

07b91d318c72f95e29d4427375ecddc3.png

多个计划首选

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql导入数据库某张表_MSSQLServer2005 导出导入数据库中某张表的数据

备注&#xff1a;在工作中我们经常会遇到&#xff0c;将数据库中某张数据表中的内容或数据导出来&#xff1b;今天我们就介绍怎样快速有效的进行数据导出&#xff0c;导入。使用的数据库版本为&#xff1a;mssqlserver2005。首先进行登录mssqlserver2005 &#xff0c;如下图所示…

pyecharts运行了但是没有图_新版pyecharts,Python可视化so easy and powerful !

作者&#xff1a;chenjiandongx一个执迷于写 bug 的程序员pyecharts V1.0.0 版本正式发布啦&#xff01;Whats New in pyecharts V1pyecharts 经过了半年的沉寂后&#xff0c;终于发布了新版本啦&#xff01;新版本号将从 v1.0.0 开始&#xff0c;这是一个全新的&#xff0c;向…

python 整除及余数_python除法余数

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 常量常量就是不变的变量&#xff0c;在python中&#xff0c;通常用大写的变量名表示常量&#xff0c;这一点…

flatmap用法_短说:map和flatmap

PS:本文阅读->理解->GET大概2-5分钟.也许你天天见到,但是一直没理解,占用你少量的时间,相信简单的东西,只需要你付出一点点时间.map和flatmap是Java8中stream的用法.>>>>>>map把数组流中的每一个值&#xff0c;使用所提供的函数执行一遍&#xff0c;一…

git 回退到某个commit_it lesson2 版本回退

回顾上次的知识&#xff1a;1&#xff0c;首先git init 初始化文件的状态&#xff0c;使用git管理文件。2&#xff0c;git add xxx 告诉git把xxx文件添加到仓库3&#xff0c;git commit -m ‘xxxx’告诉git把文件提交到仓库 并对提交的内容作解释&#xff08;‘xxxx’&#xff…

python数据处理模块pandas_13. Python|模块总结:Pandas(数据处理)|【老W笔记】...

一、基本操作0. 导入模块import pandas as pd1. 新建DataFrame下面的例子中&#xff0c;我们新建一个有3条记录2列属性的表格。3 条记录分别是Tom&#xff0c;Bob&#xff0c;Alice的个人信息&#xff0c;2列属性分别是name和age。新建属性列的语法形如df[XX] List&#xff0c;…

visual studio 设计器不显示_与城共生:南京朝天宫“参与性”城市设计

本课题致力于探索和理解目前中国城市迅速发展的过程中&#xff0c;老旧社区如何与城市共生共进。通过对南京老旧社区的充分调查和研究&#xff0c;选取了朝天宫古玩市场附近的街巷民居和鼓楼工人新村作为设计地块。社会结构的变迁以及城市空间形态的变化都对老旧社区正在进行冲…

mysql error code 1093_MySQL更新时ErrorCode:1093和ErrorCode:1175的解决办法

Error Code: 1093. You canError Code: 1093. You cant specify target table ws_product for update in FROM clause这个是我们在使用update或者delete语句时&#xff0c;在where条件里面加入的子查询导致的。例如如下的update语句&#xff1a;update table set type static …

安装mysql8.019命令符_MySQL 8.0.19安装教程(windows 64位)

话不多说直接开干目录下载完成后解压解压完是这个样子配置初始化的my.ini文件的文件解压后的目录并没有的my.ini文件&#xff0c;没关系可以自行创建在安装根目录下添加的my.ini(新建文本文件&#xff0c;将文件类型改为的.ini)&#xff0c;写入基本配置&#xff1a;[mysqld]# …

入Java_初入Java的方法

Java的方法类似于其他语言如C中的函数&#xff0c;比如我们第一个Java程序 输出Hello,world&#xff01;中用到一个方法System.out.printfln()&#xff1b;这里的printfln()就是一个方法&#xff0c;System是系统类&#xff0c;out是对象。1.什么是方法&#xff1f;方法是语句…

java method_JAVA Method的解析

java.lang.reflect.MethodMethodpublic final class Method extends Executable数据的层级结构Paste_Image.pngMethod中的方法boolean [equals].将此方法与指定的对象进行比较T extends [Annotation]T [getAnnotation]如果存在注释&#xff0c;则返回指定类型的注释否则返回为n…

java中this_多学习才能多赚钱之:java中this什么用

java中this什么用1、this调用当前属性&#xff1a;其主要作用是当需要给类中的数据进行初始化时&#xff0c;可以通过this来进行赋值&#xff0c;而不用随便定义一个变量来进行赋值&#xff0c;更有利于代码的阅读与理解(推荐教程&#xff1a;java教程)class Book{//定义书的类…

java api 英文_教你查阅Java API 英文文档(JDK 11)

然后找到“Specifications”并点击 API Documentation比如我们在别人的源码里看到了方法[也叫函数]&#xff1a; Scanner input new Scanner(System.in);所以搜索一下右上角 Scanner&#xff0c;对比我们看到的源码里import&#xff0c;发现是java.util包里的&#xff0c;所以…

jedis使用_Redis --Java客户端 Jedis

Redis --Java客户端 Jedis 博客说明 文章所涉及的资料来自互联网整理和个人总结&#xff0c;意在于个人学习和经验汇总&#xff0c;如有什么地方侵权&#xff0c;请联系本人删除&#xff0c;谢谢&#xff01; 简介 Jedis: 一款java操作redis数据库的工具. 菜鸟教程文档地址 使用…

找出最具竞争力的子序列_力扣300——最长上升子序列

这道题主要涉及动态规划&#xff0c;优化时可以考虑贪心算法和二分查找。原题给定一个无序的整数数组&#xff0c;找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101]&#xff0c;它的长度是 4。说明:可能会有多种最…

java 动态字符串_Java动态编译执行一串字符串,类似于Javascript里的eval函数

Javascript里的eval函数能动态执行一串js脚本。那Java里怎么做到呢。有两种方法:一种是使用可以执行js脚本的Java类 ScriptEngineManagerpublic static void main(String args[]){ScriptEngineManager manager new ScriptEngineManager();ScriptEngine se manager.getEngineB…

jquery全局变量_jQuery源码一个小细节,却很好地体现了性能优化的思想,很优秀...

写在前面听闻大佬们在写一些框架或者库的时候&#xff0c;到处都隐藏了一些细节&#xff0c;所以阅读他们的源代码&#xff0c;无论从性能优化、还是JS API的学习、亦或是代码风格等方面给到我们很多启发。这两天我翻看了一下jQuery1.x的源代码&#xff0c;看到了这么一段&…

mockito mock void方法_Spock如何模拟抽象类方法

我们平时写单元测试时经常会遇到调用抽象类或父类的方法&#xff0c;这些抽象方法可能是调用底层接口或数据库&#xff0c;需要mock掉&#xff0c;让抽象方法返回一个我们指定的值&#xff0c;以便测试当前代码逻辑的场景。下面讲下Spock如何结合power mock实现动态mock抽象方法…

new 实例化对象是啥意思_二. 初步认识JS中的类和对象

1 构造函数的定义在JS中, 没有类(class)的概念, 主要是通过构造函数来模拟的.语法function 构造函数名 () {// 函数体}使用function关键字表示定义一个构造函数构造函数名一般首字母大写示例function Person() {}通过以上方式就可以定义一个Person构造函数, 相当于定义好了一个…

正则匹配问号_爬虫之正则表达式

1什么是正则表达式正则表达式&#xff0c;也称规则表达式&#xff08;Regular Expression,在代码中常简写为RE&#xff09;。2为什么使用用来匹配、替换一类具有相同规则字符串3使用规则3.1单字符&#xff1a;3.2数量修饰&#xff1a;3.3边界&#xff1a;3.4分组&#xff1a;3.…