Gradle学习之构建java与web项目
一.使用Gradle的java插件构建Java项目
1)Gradle插件包含了若干个接口定义和已有的任务项,语法结构:apply plugin:'插件名' ,此处我们定义插件
apply plugin : 'java'
2)Gradle希望我们的java项目需要遵循以下规范:
src/main/java :放置java源文件
src/test/java :放置测试文件,比如单元测试等
src/main/resources: 此目录下的文件会被作为资源文件打入jar包
src/test/resources: 放置提供给测试用的配置文件
3) java插件包含了若干个构建项目的任务,最常用的就是build任务,当我们运行build任务时,Gradle会编译,运行我们的测试脚本(类)并生成jar文件在build/lib下
4) 其他常用的任务:
clean:删除已经构建的目录及其文件
assemble:编译并生成Jar或者war文件,注意不会运行测试文件
check:编译并测试代码
二.外部依赖
1)和maven类似,如果要在项目中添加所依赖的外部jar文件,我们必须要告诉Gradle在哪里找到它们
语法:
repositories {
jcenter()
mavenLocal() //maven本地仓库
mavenCentral() //maven中心仓库
/*
指定maven远程仓库地址
*/
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
}
2)当指定好仓库地址时,我们可以添加依赖
语法:
dependencies{
compile group:'类似于maven中的groupid',name:'类似于maven中的affactid',version:'版本号'
compile 'group:name:version'
}
三.java多项目构建
1)gradle也可以支持多项目构建,比如说如下项目:
multiproject/
api/
services/webservice/
shared/
services/shared/
2)此时我们要在settings.gradle里配置 依赖的模块:
include "shared", "api", "services:webservice", "services:shared"
3)比如说 shared模块要依赖api模块 我们可以在shared模块中的build.gradle文件中这样写:
dependencies {
compile project(':shared')
}
4)常见属性
sourceCompatibility: 使用哪种JDK版本编译
targetCompatibility : 生成class的Java版本
四。构建web项目
1)需要添加web插件:apply plugin:'war'
2) war任务 主要用于将web应用程序打包成war
3) 与maven规范一致:web的相关资源位于src/main/webapp下
使用示例:
war {
from 'src/rootContent' // adds a file-set to the root of the archive
webInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.
classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.
classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.
webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
}
另外我们可以设置webAppDirName来指定我们web上下文路径
Gradle学习之构建java与web项目的更多相关文章
- (转)关于java和web项目中的相对路径问题
原文:http://blog.csdn.net/yethyeth/article/details/1623283 关于java和web项目中的相对路径问题 分类: java 2007-05-23 22 ...
- eclipse构建maven的web项目(转载)
eclipse构建maven的web项目 分类: java opensource2013-12-25 16:22 43人阅读 评论(0) 收藏 举报 maven框架webappwebeclipse 使 ...
- java做web项目比较多
WEB就是轻量级:如果要炫,FLEX或即将普及的html5.0都能做到像C/S那样. java做web项目比较多:如果是桌面程序,还是走C/S比较成熟. 如果是B/S架构的,后台还是JAVA,前台可以 ...
- Maven实现项目构建直接部署Web项目到Tomcat
Maven实现项目构建直接部署Web项目到Tomcat配置如下: 1.Tomcat的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户. <ro ...
- idea中的java web项目(添加jar包介绍)和java maven web项目目录结构
java web项目 web项目下web根目录名称是可以更改的 idea中新建java web项目,默认src为Sources Root,当然也可以手动改,在Sources Root下右键只能新建Pa ...
- Maven学习篇一:eclipse构建运行maven web项目
1.new->other->maven project->next 2.选择创建简单项目(或者直接去掉勾,在后面选择maven-archetype-webapp) 3.设置坐标,名称 ...
- Gradle学习之使用java plugin
请通过下面方式下载本系列文章的Github演示样例代码: git clone https://github.com/davenkin/gradle-learning.git Gradle最 ...
- 使用maven构建基本的web项目结构
由于当前公司在组织进行项目基本结构的整理,将以前通过eclipse/ ant 方式构建的项目向maven上迁移,于是便进行maven项目方面的调研. 对于maven项目,基本的结构已经在标准文件中: ...
- Maven学习 (三) 使用m2eclipse创建web项目
1.首先确认你的eclipse已经安装好m2eclipse的环境,可以参照上两篇Maven学习内容 2.新建一个maven的项目 3.下一步默认配置,使用默认的工作空间,或者你可以自己选择其他的空间 ...
随机推荐
- 成功案例分享:raid5两块硬盘掉线数据丢失恢复方法
1. 故障描述 本案例是HP P2000的存储vmware exsi虚拟化平台,由RAID-5由10块lT硬盘组成,其中6号盘是热备盘,由于故障导致RAID-5磁盘阵列的两块盘掉线,表现为两块硬 ...
- nyoj 公约数和公倍数
公约数和公倍数 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 小明被一个问题给难住了,现在需要你帮帮忙.问题是:给出两个正整数,求出它们的最大公约数和最小公倍数. ...
- python 字符串和字典
一.字符串操作 name = "my name is \t {name} and i am {year} years old" 1.首字母大写 print(name.capital ...
- MySQL 避免重复数据的批量插入与批量更新
[转发] 导读 我们在向数据库里批量插入数据的时候,会遇到要将原有主键或者unique索引所在记录更新的情况,而如果没有主键或者unique索引冲突的时候,直接执行插入操作. 这种情况下,有三种方式执 ...
- split 过滤空的元素
命令形式: split(str='',number=string.count(str))[n] str 分隔符 number 切分几次,[n] 获取第几个值. 1.如果切分的可迭代对象中包含空元素的解 ...
- GIT入门笔记(20)- 使用eclipse 基于 git 开发过程梳理
一.创建本地分支 1.下载/更新 本地 主干 如果本地还没有 本地主干,下载:git clone 如果本地已有了 本地主干,更新:git pull 工程右键菜单:team -> pull 2.基 ...
- 新手解决jsp页面<%@报错的方法
昨天菇凉我很崩溃的重装电脑系统(嗯,没错,第一次自己装系统,我可能是一个假的计算机系学生!),但这没难倒天生聪慧的我,都是小case~.这都不是重点,重点来了,当我火速配置好java的开发环境jdk, ...
- 详解Ajax请求(二)——异步请求原理的分析
在上一文章里,我们分析了同步请求的原理.当浏览器向服务器发送同步请求时,服务处理同步请求的过程中,浏览器会处于等待的状态,服务器处理完请求把数据响应给浏览器并覆盖浏览器内存中原有的数据,浏览器重新加载 ...
- Node.js初探之实现能向前台返回东西的简单服务器
nodejs nodejs文件就是一个简单的js文件. 在shell中运行 Step 1. 打开终端,进入这个js文件所在目#录 Step 2. 用 'node 文件名.js' 命令运行它即可. 用n ...
- web开发 c/s结构 和 b/s结构
web开发 c/s结构 和 b/s结构 c/s结构 --client/server 客户端/服务器机构 如qq b/s结构 -- browser/server 浏览器/服务器结构 如网站 mvc设计 ...