1. Gradle安装:
从官方网站www.gradle.org下载最新版本,解压后,将GRADLE_HOME/bin目录加到系统环境变量PATH上。测试是否配置成功在命令行运行:gradle -v 会打印出gradle的版本号等信息.
download最新版本的gradle,网址如下:
http://www.gradle.org/get-started
然后将下载下来的zip包解压放在
/Users/mrchow/Documents/java/gradle-2.13
我是修改账号下的.bash_profile
> touch ~/.bash_profile
> sudo vim ~/.bash_profile
尾部加入:
GRADLE_HOME=/Users/mrchow/Documents/java/gradle-2.13; export GRADLE_HOME export PATH=$PATH:$GRADLE_HOME/bin
然后再在console上输入以下命令:
source ~/.bash_profile
这样就安装成功啦,可以通过以下命令来查看是否安装成功。
gradle -version
如果提示没有gradle命令,则有可能是:
1. GRADLE_HOME路径可能不对;
2. 没有执行source ~/.bash_profile
2. Gradle基本使用:
新建一个项目后,在项目文件夹下创建build.gradle文件,并加入内容:
apply plugin: 'eclipse'。
然后在终端运行gradle eclipse即可构建eclipse IDE的开发环境。
gradle默认值:gradle有些目录是有默认值存在,建议项目的配置,承袭了maven的风格,如:
java的源码目录:src/main/java
java的测试代码目录:src/test/java
资源文件目录:src/main/resources
测试的资源目录:src/test/resources
WEB项目的目录:src/main/webapp 可通过webAppDirName变量更改 ex: webAppDirName="webapp"(此属性官方已不建议使用)
下面是我的一个web项目的build.gradle文件,我们先来预览一下,接下来再分步简单介绍:
- apply plugin: 'maven'
- apply plugin: 'war'
- apply plugin: 'eclipse-wtp'
- apply plugin: 'jetty'
- webAppDirName = 'webapp'
- repositories {
- mavenCentral()
- }
- dependencies {
- compile (
- "javax.servlet:javax.servlet-api:3.1-b07",
- "org.slf4j:slf4j-log4j12:1.7.5",
- "org.slf4j:slf4j-jdk14:1.7.5",
- "mysql:mysql-connector-java:5.1.24"
- )
- }
- task copyHbm(type: Copy){
- from 'src/main/java/com/base/model'
- into 'build/classes/main/com/base/model'
- exclude '**/*.java'
- }
build.gradle文件常用任务解析:
apply plugin: 'maven': 使用maven做为jar包的信赖管理,通过mave仓库下载项目所需的信赖包
apply plugin: 'war':指定web项目,项目编译(在项目提示符下执行:gradle build)时生成项目的war包。
apply plugin: 'java': 指定项目为java项目,项目编译(在项目提示符下执行:gradle build)时生成项目的jar包。
apply plugin: 'eclipse-wtp':插件将构建web项目的开发环境,生成所需要的.project,.classpath等文件。因为我web开发使用的是eclipse-j2ee版本,所以指定为wtp环境。
apply plugin: 'eclipse':java项目的eclipse开发环境构建.生成所需要的.project,.classpath等文件。
apply plugin: 'jetty':加入jetty的支持,代码修改后直接执行命令gradle jettyRun即可运行web项目。
repositories: 指定仓库使用。
dependencies:项目依赖定义,compile为编译级别依赖,还有testCompile为测试级别的依赖等。
compile: jar包的依赖配置有几种方法,我这里采用的是较为简略的方式,其中还有一种是:
- compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
- testCompile group: 'junit', name: 'junit', version: '4.+'
task copyHbm(type: Copy): 是自定义的一个任务,目的是将hibernate的映射文件也拷贝到正确的目录,gradle默认源码包下只对java文件名进行打包,xml文件则被忽略了。在项目提示符下gradle copyHbm即可执行任务定义的动作。
gradle常用命令:
gradle eclipse : 构建开发环境,下载定义的jar包
gradle build : 编译项目,生成build文件夹,并生成相应的jar或war包。
gradle clean : 与build相反,删除build文件夹。
gradle和maven有什么区别?
链接:http://www.zhihu.com/question/29338218/answer/51293828
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
整个过程可以分成以下几个步骤:
- 编译源代码
- 运行单元测试和集成测试
- 执行静态代码分析、生成分析报告
- 创建发布版本
- 部署到目标环境
- 部署传递过程
- 执行冒烟测试和自动功能测试
虽然两者都是项目工具,但是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')
}
Gradle给我最大的有点是两点。其一是简洁,基于Groovy的紧凑脚本实在让人爱不释手,在表述意图方面也没有什么不清晰的地方。其二是灵活,各种在Maven中难以下手的事情,在Gradle就是小菜一碟,比如修改现有的构建生命周期,几行配置就完成了,同样的事情,在Maven中你必须编写一个插件,那对于一个刚入门的用户来说,没个一两天几乎是不可能完成的任务。