什么是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. UTF8国际通用为什么还要用GBK?

    前序: 一直对编码很痴迷,让数据一目了然不好吗?为什么要去编码,这不是闲的没事,浪费生产力吗? 随着学习的深入,愈加觉得自己无知,世界语言千万种,在互联网的世界里如何表示他们?碰到汉字ASCii就显得 ...

  2. 写入与导出excel

    检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问. (异常来自 HRE ...

  3. 次短路[SPFA]

    Description 贝茜把家搬到了一个小农场,但她常常回到FJ的农场去拜访她的朋友.贝茜很喜欢路边的风景,不想那么快地结束她的旅途,于是她每次回农场,都会选择第二短的路径,而不象我们所习惯的那样, ...

  4. FormsAuthentication知多少

    前述:对于FormsAuthentication相信大家都烂熟于胸了,这里只是做一下小结. 一.先看一下使用FormsAuthentication做登录认证的用法 用法一: FormsAuthenti ...

  5. QuickWebApi:使用Lambada方式,完成对WebApi的开发和调用。

    QuickWebApi 目的:使用Lambada方式,完成对WebApi的开发和调用. 缘由:为了解耦服务和展现,将越来越多的使用WebApi提供各种服务:随着服务的细化,WebApi的接口将越来越多 ...

  6. 迟到的 WPF 学习 —— 布局

    布局是 WPF 很重头的一部分内容,这一部分梳理和记录关于布局章节的知识点. 1. WPF 使用一种基于流(Flow-based)的概念来处理布局逻辑,将传统的基于"坐标"的思想尽 ...

  7. 基于ReliefF和K-means算法的医学应用实例

    基于ReliefF和K-means算法的医学应用实例 数据挖掘方法的提出,让人们有能力最终认识数据的真正价值,即蕴藏在数据中的信息和知识.数据挖掘 (DataMiriing),指的是从大型数据库或数据 ...

  8. ASP.NET Web API框架揭秘:路由系统的几个核心类型

    ASP.NET Web API框架揭秘:路由系统的几个核心类型 虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分 ...

  9. Visual Studio 2012的开发使用技巧

    分享10条Visual Studio 2012的开发使用技巧 使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用 ...

  10. MSBuild是什么?

    MSBuild入门 MSBuild是什么? MSBuild全称(Microsoft Build Engine),是用来生成.NET程序的平台.您可能不知道它,但是如果您在使用VS做开发,那么一定时时刻 ...