我以前一直使用Maven来构建工程,这两天突然发现gradle也非常好用,记录一下自己使用gradle的过程。

Gradle的下载与配置

本次选择下载的是gradle3.5版本,没选最新的gradle4,是因为吃过太多次最新版不兼容的亏...从官网直接选择压缩包下载就可以了,无需安装,把其bin目录添加到环境变量即可(和所有配置操作一样),配置好后在cmd中输入gradle -v,会提示版本。

Gradle工程构建

Gradle一般有两种使用方式,gradle build 和gradlew build

以spirng boot为例,在Spring Initializr中生成一个spring boot项目,这里不选Maven project,选择Gradle project,选好需要的部件,点击生成项目即可构建一个最简单的gradle项目。

目录结构如图,build.gradle是gradle build所使用的脚本,gradlew.bat是windows使用的gradlew脚本,gradlew是linux使用的gradlew脚本。

Gradle build使用方法

在该目录下键入gradle build,

但是出现了exception,真是怕什么来什么。因为最新的spring boot2需要gradle4以上才能build,所以只能下最新的gradle了。

更新之后,版本已经是最新的4.9了,再次build。。还是报错,应该是网络不行,挂上vpnbuild,还是不行。

查了一下资料,可以把源地址改成国内地址,具体方法是

对单个文件有效,修改build.gradle文件

buildscript {

repositories {

maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }

maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

}

dependencies {

classpath 'com.android.tools.build:gradle:2.2.3'

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }

maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

}

}

每次都生效

在C:\\user\{username}\.gradle下新建init.gradle

allprojects{

repositories {

def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'

all { ArtifactRepository repo ->

if(repo instanceof MavenArtifactRepository){

def url = repo.url.toString()

if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {

project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."

remove repo

}

}

}

maven {

url REPOSITORY_URL

}

}

}

Lib包是打好了,但是报TEST错误,因为没有datasource和操作数据库的实现类,现在都这么严格了吗,我记得spring boot1的时候好像还不是这样,lib里的jar包同理也不能直接使用,也是报没有数据源。错误如图。

等我把整个工程构建地差不多了再来写gradle build 和gradlew build吧。

Gradle初使用的更多相关文章

  1. Gradle -- 初体验

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置. ​ ...

  2. 学习笔记——Maven实战(六)Gradle,构建工具的未来?

    Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基本上是Java构建的事实标准,但我们 ...

  3. Maven、gradle、Ant、Eclipse IDE

    Maven.gradle.Ant.Eclipse IDE之间的关系 http://wenku.baidu.com/view/d33208810912a21615792910.html?from=sea ...

  4. Maven Gradle

    场景:随着项目越来越规范,对构建工具的要求越来越高,我们从Maven转到了Gradle. 转自:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gra ...

  5. Maven和Gradle的区别

    转自:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gradle Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会 ...

  6. Maven Gradle 区别

    Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基本上是Java构建的事实标准,但我们 ...

  7. Maven实战——Gradle,构建工具的未来?

    许晓斌-- 四月 05, 2011 Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基 ...

  8. [Gradle] Gradle 构建工具的未来

    转载地址:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gradle Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你 ...

  9. gradle的安装,配置,构建,研究,初体验......(入职一周研究的第一个大知识点)

    (1)Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置.更 ...

随机推荐

  1. LCG(linear congruential generator): 一种简单的随机数生成算法

    目录 LCG算法 python 实现 LCG算法 LCG(linear congruential generator)线性同余算法,是一个古老的产生随机数的算法.由以下参数组成: 参数 m a c X ...

  2. 串行通讯协议--起止式异步通讯协议(UART)

    起止式异步通讯协议: 特点与格式: 起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求.其格式如图3 所示.每一个字符的前面都有 ...

  3. 使用XWAF框架(3)——下载文件

    XWAF提供了HttpFileDownloader类用于简化用户下载文件的编码.该类提供了重载方法“downloadFile(String filePath, String fName)”实现下载.程 ...

  4. SQLSERVER 使用 ROLLUP 汇总数据,实现分组统计,总计(合计),小计

    版权声明:本文为博主原创文章,未经博主允许不得转载.本人观点或有不当之处,请在评论中及时指正,我会在第一时间内修改. https://blog.csdn.net/aiming66/article/de ...

  5. MySQL5.7.24安装笔记

    一.下载mysql-5.7.24 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-el7-x86_64.tar.gz 二 ...

  6. OpenStack(queens)最小化搭建记录——控制与计算共两个节点

    境: 2台安装了centos7-minimal的主机 ip地址: 10.132.226.103/24 (controller) 10.132.226.104/24 (compute1) 1.配置主机名 ...

  7. shell习题第10题:打印每个单词的字数

    [题目要求] 用shell打印下面这句话中字母数小于6的单词. Bash also interprets a number of multi-character options. [核心要点] for ...

  8. JavaScript中的this详解(彻底弄懂js中的this用法)!

    要想学好js,那么其中那些特别令人混淆迷惑的知识点,就一定要弄清楚.this关键字就是其中让初学者比较迷惑的知识点之一,不过灵活运用this可以提升代码的性能和复用性,那么今天我就和大家一起来了解th ...

  9. Elasticsearch入门和查询语法分析(ik中文分词)

    全文搜索现在已经是很常见的功能了,当然你也可以用mysql加Sphinx实现.但开源的Elasticsearch(简称ES)目前是全文搜索引擎的首选.目前像GitHub.维基百科都使用的是ES,它可以 ...

  10. Redis报(error) NOAUTH Authentication required.问题解决

    启动后 输入auth+空格+密码 ok