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

使用Gradle创建java web项目的更多相关文章

  1. IntelliJ IDEA + Maven创建Java Web项目

    1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...

  2. 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程

    http://jijiaa12345.iteye.com/blog/1739754 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程 本文是一篇在Myeclipse下构建Jav ...

  3. IntelliJ IDEA14 和 Maven 系列:使用IntelliJ IDEA 14和Maven 7 创建java web项目(一)

    Intellij IDEA作为最好的Java IDE,创建Maven项目还是比较简单的,但是创建一个Maven Web项目还是要修改一些配置的,下面进行总结整理. 1前言 在创建项目中,IDEA提供了 ...

  4. 使用IntelliJ IDEA 和 Maven创建Java Web项目

    1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...

  5. 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)

    1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...

  6. intellij 创建java web项目(maven管理的SSH)

    intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...

  7. 17. IntelliJ IDEA + Maven创建Java Web项目

    转自:https://www.cnblogs.com/Terry-Wu/p/8006475.html 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里 ...

  8. eclipse 创建Java web项目 Cannot change version of project facet Dynamic web module to xxx

    问题描述: 用Eclipse创建Java web项目时选择的Artifact Id为maven-artchetype-webapp,由于这个archetype比较老,用的servlet还是2.3的. ...

  9. 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)

    转自:https://blog.csdn.net/myarrow/article/details/50824793 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和 ...

随机推荐

  1. JSON无限折叠菜单

    JSON无限折叠菜单编写 2013-12-14 22:37 by 龙恩0707, 103 阅读, 1 评论, 收藏, 编辑 最近看了一篇关于JSON无限折叠菜单的文章 感觉写的不错,也研究了下代码,所 ...

  2. Day2:T1搜索 T2最小生成树

    T1:广搜+判断矩形 注:如何判断搜的是否为矩形: 在广搜的时候,记录下边界的坐标,然后枚举一遍过去,如果搜到"."就是牛群,否则就是房间 瞥了一眼ccy的做法,据说是floodf ...

  3. 重载 C 函数

    在 clang 的扩展下,可以重载 C 函数,例如重载 sin 函数: float __attribute__((overloadable)) sin(float x) { return sinf(x ...

  4. 字符串子串查找strstr

    问题: 函数名: strstr 函数原型:char *strstr(const char *str1, const char *str2); 语法:* strstr(str1,str2) str1: ...

  5. java遍历Set集合

    class Person{ private String name; private int age; public Person(String name,int age){ this.name = ...

  6. 安装Win8

    老毛桃安装Win8(哪里不会点哪里,so easy) 先来一张美女图,是不是很漂亮呢!继续往下看! 求推荐啊! 对于一个干IT的码农来说,会写代码不算什么,会装系统不算什么,及会写代码也会装系统的那才 ...

  7. 免费的Visual Studio的插件

    在做了深入(的)研究之后(通过在google网站搜索),,我编译了15个免费Visual Studio 2005插件表..其中一些插件将提高您(的)代码(的)质量,,另外一些能使您编译(的)更快,,但 ...

  8. LNMP安装与配置

    Nginx与apache.lighttp性能综合对比,如下图:                           注意:关闭rpm默认安装的apache和mysql 1.准备php函数的rpm包 y ...

  9. 下载centos6.4

    下载centos6.4 (原创)LAMP教程3-下载centos6.4 今天我要给大家讲的是安装CentOS-6.4-x86_64,是的没有错,就是64位的,因为我的机子是4G的内存,安装64位的ce ...

  10. HDU 2040 亲和数

    Problem Description 古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284. ...