依赖管理(在 build.gradle 中):

1、定义依赖仓库(repositories):

Gradle 要求至少定义一个依赖仓库,依赖仓库可以是文件系统,也可以是中心服务器。最常用的是 jcenter 和 mavenCentral。

2、申明依赖(dependencies):

和 Maven 类似,依赖的坐标直接为:group、name、version。此外,引入不同的插件会引入不同的依赖配置类别。

依赖坐标可以简写(用 : 分隔):

'org.apache.commons:commons-lang3:3.8.1'

3、项目的依赖类型:

  • 外部模块依赖:刚才的外部仓库
  • 项目依赖:一个项目依赖另一个项目。如:compile project(':projectB')。
  • 文件依赖:依赖本地文件

4、依赖的下载:

当执行 build 命令时,gradle 就会去配置的依赖仓库中下载对应的 Jar,并应用到项目中。

5、依赖配置类型:

在 dependency 前面可指明其依赖类型,可选(和 Maven 的 scope 标签类似)。Java 插件提供了 6 种现成的类型:

  • compile:编译过程中必须依赖的类库
  • runtime:运行时必须(编译时不需要)
  • testCompile:编译测试时需要
  • testRuntime:运行测试时需要
  • archives:如果项目在编译过程中,有 jar 文件生成,则包含

6、将依赖打包进 jar:如果需要让编译出来的 jar 直接可以运行,可以考虑将依赖库全部,或者部分打包进 jar。

在 jar 配置项中,配置包含内容的来源即可:

// HelloWorld.java
package com.rainsia.hello; import org.apache.commons.lang3.StringUtils; public class HelloWorld {
public static void main(String[] args) {
System.out.println(StringUtils.capitalize("hello world!"));
}
} // build.gradle 中
dependencies {
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
// archives "org.apache.commons:commons-lang3:3.1"
} jar {
from {
configurations.compile.collect {
it.isDirectory() ? it : zipTree(it)
}
}
manifest {
attributes 'Main-Class': 'com.rainsia.hello.HelloWorld'
}
}

Gradle 依赖管理的更多相关文章

  1. Android使用gradle依赖管理、依赖冲突终极解决方案(转)

    Android使用gradle依赖管理.依赖冲突终极解决方案在Android开发中,相信遇到关于版本依赖的问题的同学有不少.虽然Android Studio一般都会自动帮我们去重,但是有时候去重失败了 ...

  2. Liferay7 BPM门户开发之43: Gradle依赖管理

    进入liferay v7.0,官方推荐使用Gradle进行依赖管理和发布,所以必须知道Gradle的用法,网上资料很多,不赘述 只写依赖管理的分类 一般用外部仓库依赖,也可以用本地文件依赖(依赖本地j ...

  3. Gradle 1.12用户指南翻译——第五十章. 依赖管理

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...

  4. Gradle依赖的统一管理,解决依赖冲突

    看见别人在用implementation rootProject.ext.dependencies["xxxx"]不知道是什么意思,上网查了一下,原来是为了解决或者说预防gradl ...

  5. 【转载】Gradle学习 第八章:依赖管理基础

    转载地址:http://ask.android-studio.org/?/article/10 This chapter introduces some of the basics of depend ...

  6. 在Eclipse中使用建立使用Gradle做依赖管理的Spring Boot工程

    前述: Gradle存在很长时间了,以前只知道Maven和ivy ,最近才知道有这个存在,因为以后要用这个了; 所以,要先学会怎么用这个工具,就从建立一个简单工程开始! 实际上以前是见过Gradle的 ...

  7. Gradle Maven 依赖管理

    仓库管理简介 本质上说,仓库是一种存放依赖的容器,每一个项目都具备一个或多个仓库. Gradle支持以下仓库格式: Ivy仓库 Maven仓库 Flat directory仓库 我们来看一下,对于每一 ...

  8. Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)

        开发任何软件,如何管理依赖是一道绕不过去的坎,软件开发过程中,我们往往会使用这样那样的第三方库,这个时候,一个好的依赖管理就显得尤为重要了.作为一个自动构建工作,Gradle对依赖管理有着很好 ...

  9. Gradle学习系列之七——依赖管理

    在本系列的上篇文章中,我们讲到了如何使用java Plugin,在本篇文章中,我们将讲到Gradle的依赖管理. 请通过以下方式下载本系列文章的Github示例代码: git clone https: ...

随机推荐

  1. git使用:本地分支merge到远程分支

    背景:为了更加规范维护自动化测试工程,代码提交流程最近更新了,先拉分支到本地修改,完成后同步到远程分支. 前置条件 (1)本地机器可通过ssh与gitlab服务器通信 (2)gitlab上的测试项目中 ...

  2. 理解 JavaScript 中的 this

    前言 理解this是我们要深入理解 JavaScript 中必不可少的一个步骤,同时只有理解了 this,你才能更加清晰地写出与自己预期一致的 JavaScript 代码. 本文是这系列的第三篇,往期 ...

  3. 3.1.4 Spring的事务管理

    四.Spring的事务管理 事务原本是数据库中的概念, 在Dao层. 但一般情况下, 需要将事务提升到 业务层, 即Service层. 这样做是为了 能够使用事务的特性来管理具体的业务. 1. Spr ...

  4. Python第3次作业--李珠霞

    习题1: **1.初始化一个数据集,包括5-10位同学的成绩数据(数据类型不限),数据格式如下: **学号 姓名 Java C语言 Python2017XXXX 小白 87 68 922017XXXX ...

  5. Google搜索中的突变XSS-JavaScript Library Introduced XSS Flaw in Google Search

    前言2018年9月26日,开源Closure库(最初由谷歌创建并用于谷歌搜索)的一名开发人员创建了一个提交,删除了部分输入过滤.据推测,这是因为开发人员在用户界面设计方面出现了问题.但此次提交的开发人 ...

  6. 21.命名空间别名限定符::和global全局名称空间限定符

    命名空间别名限定符(::)用于查找标识符,它在指定的别名的命名空间中查找运算符,如下代码是在全局名称空间中查找System.Console.WriteLine("Hello World&qu ...

  7. Python3.0科学计算学习之函数

    函数 函数允许程序的控制在不同的代码片段之间切换,函数的重要意义在于可以在程序中清晰地分离不同的任务,将复杂的问题分解为几个相对简单的子问题,并逐个解决.即"分而治之". Pyth ...

  8. Redis详解与常见问题解决方案

    Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...

  9. js时间国际化

    d = new Date(); localTime = d.getTime();localOffset = d.getTimezoneOffset() * 60000; utc = localTime ...

  10. postergresql允许其它主机远程连接

    1.pg_hba.conf中添加listen_addresses = '*' #vim /usr/local/postgresql/data/pg_hba.conf #listen_addresses ...