博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven--排除依赖、归类依赖和优化依赖
阅读量:2444 次
发布时间:2019-05-10

本文共 1954 字,大约阅读时间需要 6 分钟。

排除依赖

Maven 的传递依赖能自动将间接依赖引入项目中来,这样极大地简化了项目中的依赖管理,但是,有时候这种自动化也会带来麻烦。

比如 Maven 可能会自动引入快照版本的依赖,而快照版本的依赖是不稳定的,这时候就需要避免引入快照版本。这样的话需要用一种方式告知 Maven 排除快照版本的依赖引入,这种做法就是排除依赖。那怎么实现排除依赖呢?

其实实现排除依赖还是比较简单的,在直接依赖的配置里面添加 exclusions→exclusion 元素,指定要排除依赖的 groupId 和 artifactId 就行,如下面代码所示。

org.hibernate
hibernate-core
${project.build.hibernate.version}
xxx
xxx

归类依赖

在引用依赖的时候,很多情况需要引入一个 Maven 项目的多个模块,这些模块都应该是相同的版本。比如,用户在 Spring 框架下开发应用,就需要同时引用 org.springframework 的 spring-core、spring-context、spring-context-support 等模块。

可以想象,这些模块肯定是统一的版本,如果在每个依赖里面都分别用 groupId、artifactId 和 version 具体指明的话,例如下次升级,需要将 2.5 版本升级成 3.0 版本,这样就需要将 org.springframework 的每个模块的版本都统一更改,这样做很容易出现不一致的情况,就很容易出错。

为了避免出现这种情况,可以在 pom.xml 中定义一个属性名称描述版本的值。接下来在每个 version 中,用特殊的语法引用这个属性名称。实际引入的时候,由 Maven 将属性改成对应的值。这样就可以统一版本,也方便修改。具体样例代码如下:

...
UTF-8
4.2.7.RELEASE
org.springframework
spring-core
${project.build.spring.version}
org.springframework
spring-aop
${project.build.spring.version}
org.springframework
spring-beans
${project.build.spring.version}
...
...

优化依赖

程序员在软件开发过程中,需要通过重构等方式不断优化代码,使其变得更简洁、灵活、高效。同样,用户也应该对 Maven 项目的依赖了然于胸,并对其进行优化。

通过教程前面的了解,可以理解 Maven 定位依赖的方式、传递依赖的规则以及怎么样排除依赖等。但是要实现这些动作,还必须对项目中的依赖有全面的了解,这样才能更有效地达到目的。

接下来介绍一下查看依赖的相关命令。

  • Mvn dependency:list,列出所有的依赖列表。
  • Mvn dependency:tree,以树形结构方式,列出依赖和层次关系。
  • Mvn dependency:analyze,分析主代码、测试代码编译的依赖。

转载地址:http://eqsqb.baihongyu.com/

你可能感兴趣的文章
c程序输入名字查找成绩_C程序查找通过键盘输入的数字列表中的最大数字
查看>>
C ++程序查找通过键盘输入的数字列表中的最大数字
查看>>
怎么计算任意矩形交圆形面积_C ++程序根据用户的选择来计算圆形,矩形或三角形的面积...
查看>>
怎么查找键盘注册表键值_C程序查找通过键盘输入的数字列表的平均值
查看>>
C语言中的斐波那契数列程序
查看>>
C程序查找给定字符是字母,数字还是任何特殊字符(使用ASCII值)
查看>>
微信小程序抽奖随机整数生成_C程序生成整数除数
查看>>
rs485输入输出等效电阻_C程序输入星期几(1-7)并将其转换为星期几的等效名称...
查看>>
摄氏温度转换为华氏温度超时_C程序将温度从华氏温度转换为摄氏温度或将摄氏温度转换为华氏温度...
查看>>
方幂序列 c+~+_C ++程序查找序列1 + x + x ^ 2 +……+ x ^ n的和
查看>>
C程序打印一个字符的ASCII值
查看>>
整型任意顺序判断2的幂_C程序将任意数x提升为正幂n
查看>>
接受5门科目成绩并输出平均成绩的C程序
查看>>
获取后台运行程序的屏幕打印_C程序在屏幕上打印消息
查看>>
小程序获取地图圆的半径_接受圆半径并打印其区域的C程序
查看>>
冒泡法排序c语言程序_C ++中的冒泡排序程序
查看>>
C ++程序创建模拟时钟
查看>>
井字游戏设计一个算法_井字游戏
查看>>
C ++程序计数 文件STORY.TXT中存在的字母,数字和空格的集合
查看>>
c语言程序打印闪动图形_C ++程序使用图形打印人
查看>>