使用Gradle创建java web项目

什么是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

posted @ 2016-12-13 15:40  Johnson_wang  阅读(1091)  评论(0编辑  收藏  举报