Gradle 学习(一)
引入插件
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
如果希望使用jar来启动项目, 可以这样修改项目和插件属性。
apply plugin: 'java' //当前项目版本
version = 0.1
//项目兼容到java 1.6 版本
sourceCompatibility = 1.6 //jar 启动配置文件头,这样才能通过jar启动项目
jar {
manifest {
attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
}
}
定义仓库
java 中,依赖都是以jar文件的形式发布和使用,许多类库可以在仓库中找到,这个仓库实际上就是中心服务器,你可以这样定义,
repositories {
mavenCentral()
}
定义依赖
dependencies {
compile('org.springframework.boot:spring-boot-starter')
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.2.RELEASE'
//redis
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '2.0.2.RELEASE'
//数据库
compile group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '1.3.2'
testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.0.2.RELEASE'
}
配置插件属性
下面定义的是jetty配置访问的端口和访问的根路径。
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty' repositories {
mavenCentral()
} dependencies {
providedCompile 'javax.servlet:servlet-api:2.5'
runtime 'javax.servlet:jstl:1.1.2'
} jettyRun {
httpPort = 9090
contextPath = 'todo'
}
Gradle 包装器
gradle 包装器可以让没有安装gradle的机器运行gradle构建,可以说是对你的项目gradle配置进行打包,当在其他机器运行时再还原你的gradle环境。
将生成wrapper的任务写在build.gradle 中,例如这样:
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty' repositories {
mavenCentral()
} dependencies {
providedCompile 'javax.servlet:servlet-api:2.5'
runtime 'javax.servlet:jstl:1.1.2'
} task wrapper(type: Wrapper) {
gradleVersion = '1.2'
}
执行后,生成的树形结构中,有这么一部分

假如你的公司不能使用外网,而你拿到的gradle在构建时,肯定是还原gradle 配置(即是运行gradle wrapper 里的东西,wrapper 要求你请求某个版本,而你是在外网),基于这种情况,那么如何定制wrapper

其他
显示树形结构
tree /f
使用gradle 编译项目
gradle build
参考:
1.<<Gradle In Action>>
Gradle 学习(一)的更多相关文章
- Gradle学习总结——抓重点学Gradle
前言 网上关于Gradle的教程很多,但很多都是以"面"切入- 通过大量讲解其用法及其API分类来阐述.但Gradle API使用技巧众多,API更是成千上百,臣妾记不住呀.个人深 ...
- Gradle学习总结
Gradle学习系列 (1). Gradle快速入门 (2). 创建Task的多种方法 (3). 读懂Gradle语法 (4). 增量式构建 (5). 自定义Property (6). 使用java ...
- Gradle 学习资料
Gradle 学习资料 网址 Gradle 使用指南 http://wiki.jikexueyuan.com/project/gradle/ 寄Android开发Gradle你需要知道的知识 http ...
- gradle学习笔记
一直想着花时间学习下gradle,今天有空.入门一下.参考:极客学院gradle使用指南,官方文档:gradle-2.12/docs/userguide/installation.html,以及百度阅 ...
- Gradle学习系列之九——自定义Task类型
在本系列的上篇文章中,我们学习了多Project构建,在本篇文章中,我们将学到如何自定义Task类型. 请通过以下方式下载本系列文章的Github示例代码: git clone https://git ...
- Gradle学习系列之三——读懂Gradle语法
在本系列的上篇文章中,我们讲到了创建Task的多种方法,在本篇文章中,我们将学习如何读懂Gradle. 请通过以下方式下载本系列文章的Github示例代码: git clone https://git ...
- Gradle学习系列之一——Gradle快速入门
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构 ...
- Gradle学习
Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言.近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因. 这篇文章是 ...
- Gradle学习系列(一)
今天就开始学习Gradle构建了,听说很牛X.本篇内容就带领我初步窥探Gradle的世界. 1.什么是Gradle 相信之前都接触过用Ant或者Meavn进行项目的构建,两者各有千 ...
- gradle 学习
gradle是个构建工具,目的是为了更方便的管理项目. 学习gradle看下面的资料: 中文资料,总共六篇,看完之后基础差不多了: 简介 第一个Java项目 依赖管理 创建二进制发布版本 创建多项目构 ...
随机推荐
- 【题解】 LA3708 Graveyard
题目大意 在一个圆周长为10000的圆上等距离分布n个雕塑,现在有m个新加入的雕塑(还是要求等距离摆放),问n个雕塑移动的总距离的最小值. Solution 显然必然会有一个雕塑不移动,所以可以直接不 ...
- CharSequence与String的区别
CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而String的值是只读序列. 原文: http://blog.csdn.net/joy_zha ...
- 279. 完全平方数 leetcode JAVA
题目: 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: ...
- OCP考试最新052题库分析整理-28
28.Which two are true about external tables? A. They support the ORACLE_DATAPUMP access driver. B. T ...
- OCP 052最新题库还有答案收集整理-第26题
26.In which state can you back up a database in ARCHIVELOGMODE using RMAN? A. NOMOUNT, MOUNT, AND OP ...
- nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- virsh 连接虚拟机 (vnc 或 控制台)
第一种方式 1.如果虚拟机登录方式为VNC,在ubuntu机器上安装vncviewer 在虚拟机的配置xml中 <graphics type="vnc" autoport=& ...
- 动手玩转Docker(一)
在学习docker之前,先了解一下什么是docker,以及docker技术存在的意义. Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上 ...
- 为什么我会选择走 Java 这条路?
阅读本文大概需要 2.8 分钟. 作者:黄小斜 文章来源:微信公众号[程序员江湖] 最近有一些小伙伴问我,为什么当初选择走Java这条路,为什么不做C++.前端之类的方向呢,另外还有一些声音:研究 ...
- 自动更新R软件
利用R语言命令自动更新R语言软件的版本. install.packages("installr") library(installr) updateR()