使用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
使用Gradle创建java web项目的更多相关文章
- IntelliJ IDEA + Maven创建Java Web项目
1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...
- 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
http://jijiaa12345.iteye.com/blog/1739754 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程 本文是一篇在Myeclipse下构建Jav ...
- IntelliJ IDEA14 和 Maven 系列:使用IntelliJ IDEA 14和Maven 7 创建java web项目(一)
Intellij IDEA作为最好的Java IDE,创建Maven项目还是比较简单的,但是创建一个Maven Web项目还是要修改一些配置的,下面进行总结整理. 1前言 在创建项目中,IDEA提供了 ...
- 使用IntelliJ IDEA 和 Maven创建Java Web项目
1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...
- 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)
1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...
- intellij 创建java web项目(maven管理的SSH)
intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...
- 17. IntelliJ IDEA + Maven创建Java Web项目
转自:https://www.cnblogs.com/Terry-Wu/p/8006475.html 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里 ...
- 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的. ...
- 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)
转自:https://blog.csdn.net/myarrow/article/details/50824793 1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和 ...
随机推荐
- [Usaco2008 Feb]Line连线游戏[暴力][水题]
Description Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 <= N <= 200)个不重合的点的木板,其中第i ...
- WCF MSMQ
基于WCF MSMQ 的企业应用解决方案 最近研究了一下基于MSMQ的WCF应用,从书上.网上查了很多资料,但始终没能彻底理解WCF-MSMQ的工作原理,也没能得到一个合理的应用解决方案.索性还是 ...
- Head first设计模式
使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...
- 适合编写代码的字体 Source Code Pro
今天看到博客园一篇文章,介绍了一种出身自 Adobe 的适合编码的字体,等宽,支持ClearType等,试用一下吧 项目地址:https://github.com/adobe/source-code- ...
- 将JDBC ResultSet结果集转成List
private List<Map<String, Object>> list = new ArrayList<Map<String,Object>>() ...
- 消除Switch...Case的过程
http://www.cnblogs.com/happyframework/p/3300170.html 目录 备注需求第一遍代码(重复的代码)第二遍代码(消除重复)备注 备注返回目录 不要重复自己, ...
- Http Module 介绍(转载)
Http Module 介绍 引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IH ...
- SSH的整合
SSH的整合 struts2和hibernate的配置我这里就不多说了,先把两个有关的东西说下.一个是所有的包.struts2+hibernate3+spring2.5我包准备放上去给大家下载. ht ...
- 如何使用ssh
如何使用ssh自己的笔记本做不了我的运算,只能依靠办公室的工作站,有时很不方便.所以做了一次远程监控.本想用vnc的,发现怎么都连不上,算了.还是SSH好用.工作站和笔记本都是fedora系统,所以默 ...
- Docker ( Is docker really better than VM ?)
Docker is so popular. Arha? Let's try! Docker needs the linux kernel shoud be upper than 3.10.x Let' ...