什么是Gradle?
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
为什么用Gradle?
1.构建结构化
2.便于移植
3.多种方式管理依赖
4.Gradle 是第一个构建集成工具
安装Gradle
下载地址:
http://gradle.org/gradle-download/
注:Gradle不需要安装,解压后配置环境变量即可使用
#Linux
GRADLE_HOME=Gradle目录
PATH=$PATH:$GRADLE_HOME/bin
#Windows
GRADLE_HOME=Gradle目录
Path 添加 %GRADLE_HOME%\bin
测试命令:
gradle -v
输出如下:
脚本构建Java web项目
我们使用build.gradle脚本文件构建项目
首先在项目文件夹下创建build.gradle脚本文件
在脚本中加入java插件
apply plugin: 'java'
然后运行项目目录下运行gradle build
完成后项目文件夹下如下:
然后在build.gradle中加入maven仓库
repositories {
mavenCentral()
}
添加依赖
这里声明了编译期所需依赖 commons-collections 和测试期所需依赖 junit。
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
至于这些依赖的信息如何查询,可以通过下面这个网站查询
http://www.mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test/1.4.2.RELEASE
由于要把项目导入到eclipse中,所以在build.gradle中加入以下插件
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
apply plugin: 'eclipse'
在build.gradle中加入中文编码任务:
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
在Gradle中java项目的目录如下
project
+build
+src/main/java
+src/main/resources
+src/test/java
+src/test/resources
Gradle 默认会从 src/main/java
搜寻打包源码,在 src/test/java
下搜寻测试源码。并且 src/main/resources
下的所有文件按都会被打包,所有 src/test/resources
下的文件 都会被添加到类路径用以执行测试。所有文件都输出到 build 下,打包的文件输出到 build/libs 下。
在java web项目中还要在src/main下创建webapp文件夹
由于Gradle不会自动创建,所以我们用任务的方式进行创建
在build.gradle中加入如下任务:
task createJavaProject << {
sourceSets*.java.srcDirs*.each{ it.mkdirs() }
sourceSets*.resources.srcDirs*.each{ it.mkdirs()}
} task createWebProject(dependsOn: 'createJavaProject') << {
def webAppDir = file("$webAppDirName")
webAppDir.mkdirs()
}
然后执行gradle createWebProject eclipse
这样就完成了一个java web项目的创建,并且可以导入到eclipse中。
注:如果想要加入其它的依赖jar文件,需要在build.gradle中加入依赖信息,并且依次执行gradle build 和gradle eclipse.
参考:http://unmi.cc/initialize-gradle-project-layout/
http://wiki.jikexueyuan.com/project/gradle/java-quickstart.html