gradle 上传jar包_Gradle学习记录014 关于依赖的声明

详细学习Gradle构建的依赖声明。该学习记录基于Gradle官方网站资料。本篇参考链接如下:

https://docs.gradle.org/current/userguide/declaring_dependencies.html

声明一个模块作为依赖

通常声明一个模块作为依赖,需要指定这个模块的版本。Gradle提供了一套机制,允许指定动态的版本。

ffa3fe9c8f1322b4cdd8a5938fb2f48a.png

指定固定版本

dependencies { // 固定版本一旦指定就不会变化 implementation 'org.springframework:spring-web:5.0.2.RELEASE'}

不指定版本的依赖

比较大的项目可能不会去单独指定依赖的版本,而是使用constraints来统一管理版本

dependencies { // 这里没有指定依赖的版本 implementation 'org.springframework:spring-web'}dependencies { constraints { // 在constraints内部指定版本 implementation 'org.springframework:spring-web:5.0.2.RELEASE' }}

动态指定版本

dependencies { // 这里指定版本必须为5以上 implementation 'org.springframework:spring-web:5.+'}

通常,Gradle会在缓存中保存上一次取得的版本24小时。24小时之后如果发现有更新的版本,会去取得更新的版本。

指定未完成版本

dependencies { implementation 'org.springframework:spring-web:5.0.3.BUILD-SNAPSHOT'}

如上,一般带有-SNAPSHOT后缀的版本是还在开发中的版本。和动态指定一样, 24小时后会到仓库中寻找是否有更新版本。

通过参数指定版本

5cd42e28794d02938b74310bffceb63c.png
dependencies { implementation('org.slf4j:slf4j-api') { version { strictly '[1.7, 1.8[' prefer '1.7.25' } } constraints { implementation('org.springframework:spring-core') { version { require '4.2.9.RELEASE' reject '4.3.16.RELEASE' } } }}

声明文件依赖

有时可能会需要一些文件依赖, 这些文件保存在本地或者远程的共享文件夹中。这种共享文件夹式的仓库时没有.metadata的。

f94ff5a09e3cc4286d7a9926e8de1219.png

所以需要指定文件的名字

configurations { antContrib externalLibs deploymentTools}dependencies { antContrib files('ant/antcontrib.jar') externalLibs files('libs/commons-lang.jar', 'libs/log4j.jar') deploymentTools(fileTree('tools') { include '*.exe' })}

声明工程依赖

多工程构建的时候, 经常会发生工程间的依赖。

8d59c53f723d991706f8b7ada265b8f1.png
project(':web-service') { dependencies { implementation project(':utils') implementation project(':api') }}

指定特定的资源

以下三种情况,可能需要指定特定的资源,而不时把整个jar包或者特定资源的传递依赖都下载到本地。

1 这个依赖时一个非标准资源, 比如一个zip文件

2 模块的.metadata定义了多个资源,但是我们只想要其中之一

3 我们只想要模块中的一个资源, 儿不需要它的传递依赖

下面的示例展示了从一个模块中只取得js类库

repositories { ivy { url 'https://ajax.googleapis.com/ajax/libs' patternLayout { artifact '[organization]/[revision]/[module](.[classifier]).[ext]' } }}configurations { js}dependencies { js 'jquery:jquery:3.2.1:min@js'}

Classifier表示资源的种类。比如java的情况下,可能java的class在一个jar包中,它的源代码在另一个包中,它的javadoc在第三个包中。

那么这三个包的名字中会用classifier来表明不同。比如

XXXX.jar

XXXX.sources.jar

XXXX.javadoc.jar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10版本查看_想知道电脑中安装的win10版本号,用这3招就对了,一键查看

自从微软在Windows 10中更改了发布模型后,很多用户就对找出他们在电脑上安装的Windows 10版本感兴趣。大家可能都已经知道,微软不会再发布Windows的主要版本,而是会不断发布更新,这让人想起许多Linux发行版的滚动发行模型。如果你…

LeetCode 1791. 找出星型图的中心节点(图出入度)

文章目录1. 题目2. 解题1. 题目 有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。 星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。 给你一个二维整数数组 edges ,其中 edges[i] [ui, vi] 表示在节…

ole db 错误 通讯链接失败_西门子PLC1200的S7通讯(同一项目下)--GET接收指令

西门子PLC1200的S7通讯(同一项目下)--GET接收指令1.0 首先在同一项目下,组态两个PL,如下图,组态了2个1200PLC 1214C的PLC2.0 点击链接里面,在窗口的右上角选择S7连接,这个窗口可以看到本地ID&am…

电磁波

可见光谱只占有宽广的电磁波谱的一小部分。电磁波,又称电磁辐射,是由同相振荡且互相垂直的电场与磁场在空间中以波的形式传递能量和动量,其传播方向垂直于电场与磁场构成的平面。电磁辐射的载体为光子,不需要依靠介质传播&#xf…

LeetCode 1792. 最大平均通过率(优先队列)

文章目录1. 题目2. 解题1. 题目 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。 给你一个二维数组 classes ,其中 classes[i] [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生…

分段线性插值c语言程序_【短道速滑】OpenCV中cvResize函数使用双线性插值缩小图像长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。...

点击上方↑↑↑“OpenCV学堂”关注我作者网名:laviewpbt是图像处理,算法实现与加速优化方面的大神!其开发的imageshop软件大小只有1MB,却实现了非常丰富与复杂的各种图像处理功能,邮箱地址为:Email: laview…

端口可以随便设置吗_驱动可以随便更新吗?

答案是,真的不可以,我真的吐了,当你用驱动感觉合适,显卡驱动没有卡屏或者黑屏什么的,网卡用着正常的话就不要盲目更新了,我今天就是更新了网卡,结果就断网了,删除了恢复旧版没用&…

IOS学习:常用第三方库(GDataXMLNode:xml解析库)

IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通…

php必须汉字,php怎么只保留汉字

php只保留汉字的实现方法:首先创建一个PHP示例文件;然后通过mb_convert_encoding进行转码;最后通过preg_match_all实现过滤掉非汉字字符只保留中文字符即可。本文操作环境:windows7系统、PHP7.1版,DELL G3电脑PHP实现过…

LeetCode 1793. 好子数组的最大分数(单调栈)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums &#xff08;下标从 0 开始&#xff09;和一个整数 k 。 一个子数组 (i, j) 的 分数 定义为 min(nums[i], nums[i1], ..., nums[j]) * (j - i 1) 。一个 好 子数组的两个端点下标需要满足 i < k < j 。 请你返回…

hbase的2.2.4版本支持哪个版本的hadoop_Hadoop 2.7 不停服升级到 3.2 在滴滴的实践

桔妹导读&#xff1a;Hadoop 3的第一个稳定版本在2017年底就已经发布了&#xff0c;有了很多重大的改进。在HDFS方面&#xff0c;支持了Erasure Coding、More than 2 NameNodes、Router-Based Federation、Intra-datanode balancer 等功能&#xff0c;大家可能对这些功能很感兴…

pcb只开窗不镀锡_案例图解射频PCB设计要点

在电子产品和设备中&#xff0c;电路板是一个不可缺少的部件&#xff0c;它起着电路系统的电气和机械等的连接作用。如何将电路中的元器件按照一定的要求&#xff0c;在PCB上排列组合起来&#xff0c;是PCB设计师的主要任务之一。布局设计不是简单的将元器件在PCB上排列起来&am…

HDFS Java API 实践

文章目录1. 启动 Hadoop 集群2. 使用 HDFS Shell3. 使用 HDFS Web UI4. 安装 Eclipse IDE4.1 上传文件4.2 查询文件位置4.3 创建目录4.4 读取文件内容4.5 写入文件1. 启动 Hadoop 集群 安装集群&#xff1a;https://michael.blog.csdn.net/article/details/114607857 启动命令…

python 一组数据 正态分布散点图_利用Python进行数据分析之多元线性回归案例

线性回归模型属于经典的统计学模型&#xff0c;该模型的应用场景是根据已知的变量&#xff08;自变量&#xff09;来预测某个连续的数值变量&#xff08;因变量&#xff09;。例如&#xff0c;餐厅根据每天的营业数据&#xff08;包括菜谱价格、就餐人数、预定人数、特价菜折扣…

php7 关联nginx,nginx+php7配合开发

1 源码安装php7下载php7./configure --eable fpm --prefix路径(指定路径&#xff0c;所有的文件会安装在这里。不然会文件会分散到别的地方)make & make install完成php的安装(如果想要按照php扩展可以用pecl命令或者phpize命令来按照)2 安装nginxyum install nginx开启ng…

python 量化交易_基于Python的量化交易工具清单(上)

—— Python量化工具清单 ——以下内容来源于Wilson Freitas的Github项目"Awesome Quant"。原文中包含了丰富的语言类别&#xff0c;但是后续介绍主要针对Python语言。原网址&#xff1a;https://github.com/ wilsonfreitas/awesome-quant基于Python的量化交易工具清…

jlist放jbutton 按钮事件失效_电动高处作业吊篮操作如何面对一些突发事件

电动吊篮从推广发展初期的不认识&#xff0c;不理解&#xff0c;不使用到今天在大中城市的建筑业中成了一种不可缺少的必备机具&#xff0c;在建筑工程施工技术工艺水平上和以往的脚手架相比&#xff0c;更是有一个空前的飞跃。正是由于电动吊篮加高方便、操作简单、安全可靠、…

LintCode MySQL 1968. 查询首两个字母在 ‘Db‘ 和 ‘Dy‘ 之间的课程名称(REGEXP正则)

文章目录1. 题目2. 解题1. 题目 描述 请编写 SQL 语句&#xff0c;查询 courses 表中&#xff0c;课程名首两个字母在 ‘Db’ 和 ‘Dy’ 之间所有课程的名称 https://www.lintcode.com/problem/1968 2. 解题 -- Write your SQL Query here -- -- example: SELECT * FROM XX_…

erp系统方案书_门禁系统方案书

门禁系统概述传统意义的门禁系统是由琐和钥匙构成&#xff0c;以钥匙代表着出入权限。但社会发展至今&#xff0c;以铁锁和钥匙为代表的传统房门管理方式正在逐渐消失&#xff0c;加上IC卡技术、数字技术、网络技术的应用日益成熟&#xff0c;管理安全、可靠、灵活、和方便的IC…

mybatisplus 操作另一个数据库的数据_MySQL的数据库操作详解

一、mysql查看数据库在 MySQL 中&#xff0c;可使用 SHOW DATABASES 语句来查看或显示当前用户权限范围以内的数据库。查看数据库的语法格式为&#xff1a;SHOW DATABASES [LIKE 数据库名];//例子SHOW DATABASES;SHOW DATABASES like mynews;show databases like %name%;语法说…