- 浏览: 994580 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1441)
- 软件思想&演讲 (9)
- 行业常识 (250)
- 时时疑问 (5)
- java/guava/python/php/ruby/R/scala/groovy (213)
- struct/spring/springmvc (37)
- mybatis/hibernate/JPA (10)
- mysql/oracle/sqlserver/db2/mongdb/redis/neo4j/GreenPlum/Teradata/hsqldb/Derby/sakila (268)
- js/jquery/jqueryUi/jqueryEaseyUI/extjs/angulrJs/react/es6/grunt/zepto/raphael (81)
- ZMQ/RabbitMQ/ActiveMQ/JMS/kafka (17)
- lucene/solr/nuth/elasticsearch/MG4J (167)
- html/css/ionic/nodejs/bootstrap (19)
- Linux/shell/centos (56)
- cvs/svn/git/sourceTree/gradle/ant/maven/mantis/docker/Kubernetes (26)
- sonatype nexus (1)
- tomcat/jetty/netty/jboss (9)
- 工具 (17)
- ETL/SPASS/MATLAB/RapidMiner/weka/kettle/DataX/Kylin (11)
- hadoop/spark/Hbase/Hive/pig/Zookeeper/HAWQ/cloudera/Impala/Oozie (190)
- ios/swift/android (9)
- 机器学习&算法&大数据 (18)
- Mesos是Apache下的开源分布式资源管理框架 (1)
- echarts/d3/highCharts/tableau (1)
- 行业技能图谱 (1)
- 大数据可视化 (2)
- tornado/ansible/twisted (2)
- Nagios/Cacti/Zabbix (0)
- eclipse/intellijIDEA/webstorm (5)
- cvs/svn/git/sourceTree/gradle/jira/bitbucket (4)
- jsp/jsf/flex/ZKoss (0)
- 测试技术 (2)
- splunk/flunm (2)
- 高并发/大数据量 (1)
- freemarker/vector/thymeleaf (1)
- docker/Kubernetes (2)
- dubbo/ESB/dubboX/wso2 (2)
最新评论
Gradle和Maven都是项目自动构建工具,编译源代码只是整个过程的一个方面,更重要的是,你要把你的软件发布到生产环境中来产生商业价值,所以,你要运行测试,构建分布、分析代码质量、甚至为不同目标环境提供不同版本,然后部署。整个过程进行自动化操作是很有必要的。
整个过程可以分成以下几个步骤:
•编译源代码
•运行单元测试和集成测试
•执行静态代码分析、生成分析报告
•创建发布版本
•部署到目标环境
•部署传递过程
•执行冒烟测试和自动功能测试
如果你手工去执行每一个步骤无疑效率比较低而且容易出错,有了自动化构建你只需要自定义你的构建逻辑,剩下的事情交给工具去完成。
虽然两者都是项目工具,但是maven现在已经是行业标准,Gradle是后起之秀,很多人对他的了解都是从android studio中得到的,Gradle抛弃了Maven的基于XML的繁琐配置,众所周知XML的阅读体验比较差,对于机器来说虽然容易识别,但毕竟是由人去维护的。取而代之的是Gradle采用了领域特定语言Groovy的配置,大大简化了构建代码的行数,比如在Maven中你要引入一个依赖:
<properties>
<kaptcha.version>2.3</kaptcha.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.kaptcha</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
然后我将其转换成Gradle脚本,结果是惊人的:
dependencies {
compile('org.springframework:spring-core:2.5.6')
compile('org.springframework:spring-beans:2.5.6')
compile('org.springframework:spring-context:2.5.6')
compile('com.google.code.kaptcha:kaptcha:2.3:jdk15')
testCompile('junit:junit:4.7')
}
注意配置从原来的28行缩减至7行!这还不算我省略的一些父POM配置。依赖的groupId、artifactId、 version,scope甚至是classfier,一点都不少。较之于Maven或者Ant的XML配置脚本,Gradle使用的Grovvy脚本杀伤力太大了,爱美之心,人皆有之,相比于七旬老妇松松垮垮的皱纹,大家肯定都喜欢少女紧致的脸蛋,XML就是那老妇的皱纹。
Gradle给我最大的有点是两点。其一是简洁,基于Groovy的紧凑脚本实在让人爱不释手,在表述意图方面也没有什么不清晰的地方。其二是灵活,各种在Maven中难以下手的事情,在Gradle就是小菜一碟,比如修改现有的构建生命周期,几行配置就完成了,同样的事情,在Maven中你必须编写一个插件,那对于一个刚入门的用户来说,没个一两天几乎是不可能完成的任务。
整个过程可以分成以下几个步骤:
•编译源代码
•运行单元测试和集成测试
•执行静态代码分析、生成分析报告
•创建发布版本
•部署到目标环境
•部署传递过程
•执行冒烟测试和自动功能测试
如果你手工去执行每一个步骤无疑效率比较低而且容易出错,有了自动化构建你只需要自定义你的构建逻辑,剩下的事情交给工具去完成。
虽然两者都是项目工具,但是maven现在已经是行业标准,Gradle是后起之秀,很多人对他的了解都是从android studio中得到的,Gradle抛弃了Maven的基于XML的繁琐配置,众所周知XML的阅读体验比较差,对于机器来说虽然容易识别,但毕竟是由人去维护的。取而代之的是Gradle采用了领域特定语言Groovy的配置,大大简化了构建代码的行数,比如在Maven中你要引入一个依赖:
<properties>
<kaptcha.version>2.3</kaptcha.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.kaptcha</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
然后我将其转换成Gradle脚本,结果是惊人的:
dependencies {
compile('org.springframework:spring-core:2.5.6')
compile('org.springframework:spring-beans:2.5.6')
compile('org.springframework:spring-context:2.5.6')
compile('com.google.code.kaptcha:kaptcha:2.3:jdk15')
testCompile('junit:junit:4.7')
}
注意配置从原来的28行缩减至7行!这还不算我省略的一些父POM配置。依赖的groupId、artifactId、 version,scope甚至是classfier,一点都不少。较之于Maven或者Ant的XML配置脚本,Gradle使用的Grovvy脚本杀伤力太大了,爱美之心,人皆有之,相比于七旬老妇松松垮垮的皱纹,大家肯定都喜欢少女紧致的脸蛋,XML就是那老妇的皱纹。
Gradle给我最大的有点是两点。其一是简洁,基于Groovy的紧凑脚本实在让人爱不释手,在表述意图方面也没有什么不清晰的地方。其二是灵活,各种在Maven中难以下手的事情,在Gradle就是小菜一碟,比如修改现有的构建生命周期,几行配置就完成了,同样的事情,在Maven中你必须编写一个插件,那对于一个刚入门的用户来说,没个一两天几乎是不可能完成的任务。
发表评论
-
研发管理工具
2017-08-09 15:26 454一、产品介绍 JIRA是Atlas ... -
webstorm的html文件如何不折叠style?
2016-06-27 17:16 615webstorm的html文件如何不 ... -
持续集成工具的发展历程以及未来
2016-04-24 01:08 616持续集成工具的发展历程以及未来 原创 2016-04- ... -
maven POM.xml 标签详解
2016-01-04 00:25 701<span style="margin: 0 ... -
mvn的常用命令
2016-01-04 00:26 9521. mvn help:describe 你是否因为记不清 ... -
maven的assemble的使用
2016-01-04 00:27 975在开发Maven项目中,我们可能有各种各样的打包需求,当然 ... -
Gradle是一款非常简洁的项目构建工具
2016-01-03 00:01 757Gradle是一款非常简洁的项目构建工具,相比ant和ma ... -
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器
2016-01-15 10:31 588Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编 ... -
Markdown的语法简洁明
2016-01-22 14:29 790GitBook[1] 是一个基于 Node.js 的命令行工 ... -
eclipse的使用
2015-12-31 12:01 430eclipse的快捷键 Ctrl + Shift + X 将小 ... -
Stack Overflow
2015-12-30 10:55 533Stack Overflow是一个与程序相关的IT技术问答网站 ... -
flyway的使用
2015-12-29 21:42 1102前言:最近工作上遇到个问题,项目开发过程中,开发代码可以通过s ... -
Gradle的使用
2015-12-29 20:16 1156工具版本:Gradle:2.2.1 Groovy:2.3.6 ... -
maven出现感叹号
2015-12-16 14:51 513maven出现感叹号的原因 产生原因: 因为一些maven管 ... -
Gradle项目构建工具
2015-12-10 01:02 655Gradle是一款非常简洁的项目构建工具,相比ant和mave ... -
使用的工具
2015-11-30 15:31 4131.Fiddler是一个http协议调试代理工具,它能够记录并 ...
相关推荐
主要介绍了详解阿里云maven镜像库配置(gradle,maven),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Gradle插件,创建一个UploadArchives任务,自动将所有Java、Kotlin或Android库上载到任何Maven实例。这个插件基于chris-banes的初始实现,并且已经被增强以添加kotlin支持并跟上最新的更改。
gradle-maven-plugin:Gradle 5.x Maven发布插件来部署工件
GradleAndMaven:通过Gradle和Maven构建的多模块项目
SpringBoot-Gradle-Maven-Java-Groovy:SpringBoot通过不同构建工具和语言实现。
gradle-maven-publish-plugin Gradle plugin that creates an uploadArchives task to automatically upload all of your Java, Kotlin or Android libraries to any Maven instance. This plugin is based on Chris...
spock-example:Spock示例规范以及现成的Gradle和Maven构建
kotlin-jlink-examples 示例如何在gradle和maven中将jlink与kotlin一起使用。 您可以从以下子目录打开项目: — Gradle示例 — Maven示例
本篇文章主要介绍了Gradle使用Maven仓库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
使用Maven / Gradle进行大厅缓存 这是的演示-适用于基于Gradle和Maven的项目 相关博客文章在
rabbit /springboot/shiro/gradle/maven/lombok/多数据源
jar共享gradle-aspectj-1.6,maven构建gradle的jar,maven构建gradle的jar,maven构建gradle的jar。
gradle-maven-publish-plugin Gradle插件创建了uploadArchives任务,以自动将所有Java,Kotlin或Android库上传到任何Maven实例。 该插件基于并已得到增强,以添加Kotlin支持并紧跟最新变化。建立module/build.gradle...
一年前我就停止了Android的开发,Gradle对他们的构建系统进行了不断的修改,这使得我很难支持这个插件。
提供Maven执行任务的Gradle插件 正在安装 此插件的发行版托管在。 使用以下两种方法之一将插件应用于您的项目。 在所有Gradle版本中使用的构建脚本代码段: buildscript { repositories { maven { url " ...
gradle-dma-plugin:一个Gradle插件,提供类似于Maven的依赖项管理功能
maven2gradle 只是看
Maven 到 Gradle 将 Maven 依赖项转换为 Gradle 的非常基本的网页。 目前只解析 groupId、artifactId 和 version。 范围被忽略。 如果使用版本变量,它将保留它,但您仍然需要在 build.gradle 文件中定义该变量 ...
该存储库包含两个组件:脚本和插件: 这些脚本的工作方式与但同时支持maven和maven-publish以及pom.xml更多自定义。 该插件将是一个自定义的gradle插件,它将使工作流程更加简单。 当然,脚本/插件旨在与java和...
将S3用作Gradle的Maven存储库 Amazon S3服务可以通过Gradle轻松用作Maven(或Ivy)存储库。 好处 便宜的 安全的 在线的 缺点 缺乏管理,搜索 快照必须手动修剪 设置 用任何名称创建一个S3存储桶。 您还可以重复使用...