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项目 依赖管理 创建二进制发布版本 创建多项目构 ...
随机推荐
- [转载] C++异常处理机制
原地址:http://blog.csdn.net/daheiantian/article/details/6530318 一.什么是异常处理 一句话:异常处理就是处理程序中的错误. 二.为什么需要异常 ...
- dataframe去重 drop_duplicates
data.drop_duplicates() #默认:data中一行元素全部相同时才去除 data.drop_duplicates(['a','b'])#data根据’a','b'组合列删除重复项,默 ...
- maven(私库)上传jar包
在实际开发过程中,我们经常会遇到需要引用的jar依赖,在我们公司的maven仓库不存在,这个时候我们就需要把jar上传上去,在项目中添加对应依赖就OK了. 步骤1:下载jar 在http://mvnr ...
- nginx处理高并发请求强于apache
ginx 不同于 Apache2 的一点就是,Nginx 采用单线程,非阻塞,异步 IO 的工作模型. Apache2 对于每一个请求,都会创建一个新进程或线程,会浪费很多内存和 CPU 时间,而 N ...
- centos6装python3,并安装requests, lxml和beautifulsoup模块
一. 安装python3并设为默认版本,与python2共存 1.下载Python3.4安装包 wget https://www.python.org/ftp/python/3.4.4/Pytho ...
- leetcode-680-Valid Palindrome II
题目描述: Given a non-empty string s, you may delete at most one character. Judge whether you can make i ...
- vue中vueRouter使用
首先需要安装依赖:
- appium桌面版和命令行版的安装
一.appium桌面版: 启动很慢,一般用于元素定位 Appium-Desktop官方下载地址:https://github.com/appium/appium-desktop/releases/ ( ...
- AVL树插入(Python实现)
建立AVL树 class AVLNode(object): def __init__(self,data): self.data = data self.lchild = None self.rchi ...
- Vue项目中用的Jquery.js和easing.js做的抛物线
如果项目中还用到自有的$ <script> jQuery.noConflict();</script> //星星掉落movePathNew(args) { let self = ...