Maven是每个使用JAVA开发或测试开发的朋友都知道的一个非常经典且易于使用的JAVA项目构建工具。
然而,一向标新立异的老司机却觉得梅宾不满意!
首先,Maven的配置文件是XML的。如果您的项目依赖太多包,则XML 文件可能会变长。
其次,XML 并不是那么灵活。如果经验丰富的驱动程序需要在构建过程中添加自定义逻辑,则可能会变得非常乏味。
想象一下。 Android程序员必须能够适应多种Android智能手机场景并理解自定义逻辑。
if(isMoto){做某事}
else if(isHuawei){做某事}
.
第三,Maven不能很好地支持较新版本的Java,因此即使编译Java11,也需要更新内置的Maven插件。
对于Maven 作为构建工具是否有很多抱怨?接下来,尝试全新的Java 构建工具Gradle。
已经是2020年了。相信很多JAVA开发和测试开发伙伴已经开始使用Intelij IDEA来创建JAVA程序了。 IDEA 默认支持Gradle Wrapper。这意味着您不需要单独安装Gradle。
老司机因为很久没用了,感觉Gradle有很多优点。这里有两个。
01.Gradle 很快
Gradle 使用构建缓存、守护进程等来提高编译速度。因此,gradle的编译速度比Maven快很多,平均编译速度比Maven快几倍,而且项目越大,这种差异就越明显。
对于较大的列,直方图的编译时间较长。
02.Gradle 很灵活
Maven使用XML,所以打包其实比较麻烦。许多Maven 项目需要执行外部脚本来完成需要灵活性的任务。相比之下,Gradle 的配置文件是用Groovy 编程语言编写的构建脚本,不需要外部脚本。
没有必要害怕像groovy这样的新语言。这非常简单,与数百行XML 或外部脚本相比,通常需要创建很少的内容。经验丰富的用户认为这是一站式服务。不错。
伙计们说话时不练习假动作。只是练习而不谈论愚蠢的动作。
让我们看两个例子来说明Gradle 如何优于Maven 和Ant。
1. 对软件包的依赖,Gradle VS Maven,例如junit
典型的Maven 配置文件如下所示:
项目xmlns=”http://maven.apache.org/POM/4.0.0” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org /xsd/maven-4.0.0.xsd”
模型版本4.0.0/模型版本
groupIdcom.mycompany.app/groupId
artifactIdmy-app/artifactId
包装罐/包装
版本1.0-快照/版本
依赖关系
依赖
groupIdjunit/组ID
工件Idjunit/artifactId
版本3.8.1/版本
范围测试/范围
/依赖
/依赖项
/项目
Gradle的流程如下。
应用plugin:“java”
组=“com.mycompany.app”
archivesBaseName=“我的应用程序”
版本=“1.0-快照”
存储库{
mavenCentral()
}
依赖项{
测试编译“junit:junit:3.8.1”
}
第一轮:凹印获胜!
2. 任务管理,Gradle VS Ant,例如hello world
Gradle 与Ant 一样,使用任务作为执行的原子单元。
蚂蚁怎么写:
?xml 版本=”1.0”?
项目名称=“foo”
目标名称=”你好”
回声你好世界/回声
/目标
/项目
如何编写Gradle:
你好任务{
println“你好世界”
}
第二轮:凹印获胜!
经过两轮比较,我们将360度全方位向您展示Gradle的优势。老司机们还想补充一下:
XML 本质上适合描述属性,但不适合表达状态,例如if.else.switch.case.这种事情显然不是XML 的专长,但它应该是。当面对多种环境时,你所面对的是什么。
Gradle使用Groovy编程语言可以轻松处理多条件问题。
一位在软件行业工作N年的老司机讲述了自己的一段经历:
1.谷歌是软件研发和测试开发行业的领导者。
2. Google内部使用的那些很快就在Google外部广泛使用,有些甚至成为行业默认标准。
Google推荐Gradle,你呢?
总之,——Gradle很好吃!
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。