`
weigang.gao
  • 浏览: 468034 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

最佳实践(5.3)

 
阅读更多

Maven依赖涉及的知识点比较多,在理解了主要的功能和原理之后,最需要的当然就是前人的经验总结了,我们称之为最佳实践。

排除依赖:传递性依赖会给项目隐式地引入很多依赖,这极大地简化了项目依赖的管理,但是有些时候这种特性也会带来问题。例如,当前项目有一个第三方依赖,而这个第三方依赖由于某些原因依赖了另外一个类库的SNAPSHOT版本,那么这个SNAPSHOT就会成为当前项目的传递性依赖,而SNAPSHOT的不稳定性会直接影响到当前的项目。这时就需要排除掉该SNAPSHOT,并且在当前项目中声明该类库的某个正式发布的版本。

 

归类依赖:

很多关于Spring Framework的依赖,它们分别是

 

优化依赖:

在软件开发过程中,程序员会通过重构等方式不断地优化自己的代码,使其变得更简洁,更灵活。同理,程序员也应该能够对Maven项目的依赖了然于胸,并对其进行优化,如去除多余的依赖,显示地声明某些必要的依赖。

在这些工作之后,最后得到的哪些依赖被称为已解析的依赖。

 

1.可以运行如下的命令查看当前项目的已解析依赖: mvn dependency:list

2.当这些依赖经Maven解析后,就会构成一个依赖树,通过这棵依赖树就能够很清楚地看到某个依赖是通过哪条传递路径引入。

可以运行如下命令查看当前项目的依赖树:mvn dependency:tree

 

3.使用dependency:list和dependency:tree可以帮助我们详细了解项目中所有依赖的具体信息,在此基础上,还有dependency:analyze工具可以帮助分析当前项目的依赖

 

区分: Used undeclared dependencies,意指项目中使用到的,但是没有显示声明的依赖

结果中还有一个重要的部分是Unused declared dependencies,意指项目中未使用的,但是声明的依赖,对于这样一类依赖,我们不应该简单地直接删除其声明,而是应该仔细分析,由于dependency:analyze只会分析编译主代码和测试代码需要用到的依赖,一些执行测试和运行时需要的依赖它就发现不了。很显然,该例中的spring-core和spring-beans是运行Spring Framework项目必要的类库,因此,不应该删除依赖声明。当然,有时候确实能通过该信息找到一些没用的依赖,但一定要小心测试。

 

 

 

分享到:
评论

相关推荐

    Pro .NET Best Practices .net最佳实践 英文版

    《.NET最佳实践》是.NET领域的集大成之作和公认经典。书中总结了大量.NET开发人员公认的最佳实践,并有针对性地阐明了如何恰当地在个人、小组、组织和行业中应用这些最佳实践。书中的最佳实践涵盖.NET开发的方方面面...

    《.NET最佳实践》.((美)Stephen Ritchie)

    《.NET最佳实践》是.NET领域的集大成之作和公认经典。书中总结了大量.NET开发人员公认的最佳实践,并有针对性地阐明了如何恰当地在个人、小组、组织和行业中应用这些最佳实践。书中的最佳实践涵盖.NET开发的方方面面...

    H3C SDN ADCampus V5.3解决方案和配置指导手册汇总集.rar

    目录: AD-Campus 5.3 EPON组网配置指导 AD-Campus 5.3 IPv6业务配置指导 AD-Campus 5.3 SeerAnalyzer配置指导 AD-Campus 5.3 半自动化配置指导 AD-Campus 5.3 园数融合...AD-Campus 5.3融合BRAS场景最佳实践-终稿

    软件测试系列最佳实践

    5.3 另一种把资源用到极致的方法71 5.4 一键部署73 第6章 客户端的GUI测试自动化79 6.1 初识自动化测试79 6.2 困惑80 6.3 建议81 6.4 三类标准控件的不同处理办法82 6.4.1 标准控件83 6.4.2 自定义...

    H3C新园区网络ADCampus解决方案最佳实践配置指导汇总集.rar

    目录: 1 ADCampus DHCP Server配置指导 2 ADCampus 方案配置指导(维护版本) 3 ADCampus 方案无线最佳实践 4 ADCampus 园区半自动化方案最佳实践 5 ADCampus 自动化部署配置指导

    用友华表Cell插件5.3.9.15安装版

    Cell 组件、插件(ActiveX控件)是北京用友华表公司在长期开发实践的基础上推出的功能强大、技术成熟的报表二次开发工具,是...是软件开发人员开发优秀报表软件的最佳解决方案 Cell组件是华表公司在长期开发实践的基础上

    微信公众平台开发最佳实践 源代码

    微信公众平台开发最佳实践的源代码,没有加密。微信公众平台开发最佳实践讲的很详细,图文并茂。 其目录如下: 前 言 第1章 微信公众平台介绍 1 1.1 微信及其两大平台 1 1.2 微信公众平台 2 1.2.1 功能 2 1.2.2...

    java设计模式

    5.3 最佳实践 第6章 开闭原则 6.1 开闭原则的定义 6.2 开闭原则的庐山真面目 6.3 为什么要采用开闭原则 6.4 如何使用开闭原则 6.5 最佳实践 第二部分 我惹了谁——真刀实枪篇 第7章 单例模式 7.1 我是皇帝我独苗 7.2...

    微信公众平台开发最佳实践 源码及书箱

    5.3 语音识别 60 5.3.1 接收识别结果 60 5.3.2 处理识别消息 61 5.4 客服接口 61 5.4.1 客服接口实现 62 5.4.2 消息接口与客服接口相结合 70 5.4.3 客服接口的意义 71 5.5 OAuth2.0网页授权 72 5.5.1 OAuth...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 112 5.2.5 服务器JVM进程崩溃 / 113 5.3 实战:Eclipse运行速度调优 / 114 5.3.1 调优前的程序运行状态 / 114 5.3.2 升级JDK 1.6的性能变化及兼容问题 / 117 5.3.3 编译时间和类加载时间的优化 / 122 5.3.4 ...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    5.3 java虚拟机的体系结构 5.3.1 数据类型 5.3.2 字长的考量 5.3.3 类装载器子系统 5.3.4 方法区 5.3.5 堆 5.3.6 程序计数器 5.3.7 java栈 5.3.8 栈帧 5.3.9 本地方法栈 5.3.10 执行...

    Oracle数据库性能优化的艺术 (文平) 高清PDF扫描版

    5.3 pga内存分配原则 / 175 5.4 oracle虚拟化关注点 / 176 第6章 存储优化:配置高效存储环境 / 181 6.1 i/o问题的表象与内涵 / 182 6.2 存储介质的基础配置 / 183 6.3 存储i/o能力探究 / 197 第7章 ...

    SQL Server 2008数据库设计与实现

     2.7 最佳实践  2.8 总结 第3章 概念阶段数据建模  3.1 理解需求  3.2 文档化过程  3.3 需求收集  3.3.1 客户访谈  3.3.2 要回答的问题  3.3.3 现存的系统和原型  3.3.4 其他类型的文档  3.4 ...

    GuessTheWord-5.3

    您将修改应用程序以使用体系结构组件和最佳实践。 先决条件 你得知道: 如何使用Android Studio打开,构建和运行Android应用。 如何使用导航架构组件 在导航目标之间传递数据。 使用Logcat阅读日志。 入门 下载...

    网易数据治理白皮书8.0.pdf网易数据治理白皮书8.0.pdf

    本书目录 第一章 :数据资产 1.1 数据分类 1.2 数据资产定义 1.3 数据资产与数据治理 第二章:数据治理解决了什么问题 第三章:到底什么是数据治理 3.1 数据治理宏观政策 ...第六章:数据治理2.0最佳落地实践

    华为HCIE-Cloud V2.0云计算精英培训视频教程【共29集】.rar

    目录:网盘文件永久链接 HCIE-Cloud 实验环境搭建 前言 安装eBackup 安装FC ...第六章 云计算规划与最佳实践 6.1_服务器虚拟化场景 6.2_私有云场景 6.3_桌面云场景 6.4_type1规划设计

    卧龙湖煤矿沿空留巷巷旁充填技术应用

    结合卧龙湖煤矿8102工作面...当充填体宽度为3m、强度为5.3MPa时,技术和经济效益最佳。工程应用结果表明,留巷顶板下沉量最大148mm,两帮移近量最大160mm,围岩变形较小,该充填技术在8102工作面风巷沿空留巷得到成功应用。

    bono.cms:一个面向主题的 CMS,让您可以更快、更轻松地安装自己的自定义主题

    它具有一个外观漂亮且友好的管理小组,并遵循已知的最佳实践。要求PHP 5.3和所有通用库(GD,PDO等) MySQL 5.x Apache 1.3 或更高版本系统本身大约 20 MB安装您应该从官方网站下载存档,然后将其所有内容提取到Web...

    JavaScript核心技术 PDF扫描版

    《JavaScript核心技术》还提供了一些使用JavaScript的最佳实践。无论是新手还是老手,这些如何正确使用JavaScript的经验都能帮助他们养成良好的编程习惯。《JavaScript核心技术》还介绍了一些调试和开发JavaScript的...

    Java中的CountDownLatch类最全讲义

    目录: 简介 1.1 并发编程与线程同步 1.2 CountDownLatch概述 CountDownLatch的基本用法 2.1 创建CountDownLatch对象 2.2 await()方法 2.3 countDown()方法 实现多线程任务的同步 ...最佳实践与注意事项

Global site tag (gtag.js) - Google Analytics