`
weigang.gao
  • 浏览: 487635 次
  • 性别: 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项目必要的类库,因此,不应该删除依赖声明。当然,有时候确实能通过该信息找到一些没用的依赖,但一定要小心测试。

 

 

 

分享到:
评论

相关推荐

    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场景最佳实践-终稿

    db2在aix5.3和6.1的参数配置.docx

    通过对DB2数据库在AIX 5.3与AIX 6.1环境下系统参数配置的深入分析,我们了解到这些参数在不同版本间的差异及其最佳实践。这些参数的合理配置对于提高DB2数据库的性能和稳定性至关重要。对于特定场景,还需要结合实际...

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

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

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

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

    Exelis ENVI v5.3, IDL v8.5, LiDAR v5.3 x64_Patch

    IDL v8.5 版本可能引入了新的特性,例如增强的可视化功能、更高效的代码执行、改进的内存管理和对现代编程实践的更好支持。这个版本可能还提升了与ENVI的集成,使得用户可以更方便地编写自定义脚本来处理遥感数据。 ...

    checkstyle-5.3-bin

    它的主要目的是通过静态代码分析来检测并修复代码中的潜在问题,确保代码遵循特定的编码规范和最佳实践。"checkstyle-5.3-bin" 包含的是 Checkstyle 5.3 版本的二进制文件,这个版本被认为是相当稳定且广泛使用的。 ...

    ThinkPHP5.3

    对于**新手入门**,ThinkPHP5.3提供了详尽的官方文档,包括基础教程、API参考、最佳实践等内容,让初学者能够快速掌握框架的使用方法。通过实例教学,开发者可以轻松学习如何创建控制器、定义路由、操作数据库、使用...

    ACS 5.3 license亲测可用

    8. **安全最佳实践**:确保许可证文件的安全,避免未经授权的访问或泄露。同时,遵循思科的更新和补丁发布,以保持ACS的安全性。 9. **集成与兼容性**:ACS 5.3需要与各种网络设备和客户端软件配合工作,因此要确保...

    Spring Framework v5.3.32.zip

    在下载并解压"spring-framework-5.3.32"后,开发者通常会查看源码,了解其内部工作原理,学习最佳实践,或者用于毕业设计项目中,以掌握现代企业级Java应用开发的核心技术。同时,这个版本的更新日志可能会包含重要...

    CentOS5.3挂载NTFS

    在Linux系统中,尤其是像CentOS这样的企业级操作系统中,挂载Windows系统常用的NTFS格式的文件系统是一项常见的操作,特别是在需要与Windows环境共享...在实际操作过程中,确保遵循安全最佳实践,以免损坏数据或系统。

    PHP5.3.2011中文帮助文档手册

    通过阅读和研究这个文档,开发者可以深入理解PHP5.3的语法、函数库以及最佳实践。此外,手册还涵盖了错误处理、面向对象编程、数据库操作、网络编程等多个方面,是PHP初学者和经验丰富的开发者的重要参考资料。 在...

    WDR5.3视频教程

    2. **硬件安装**:视频将详细讲解摄像头的物理安装过程,包括如何选择合适的安装位置,连接电源和网络线缆,以及设置镜头角度和焦距,确保最佳的监控视野。 3. **软件配置**:教程会涵盖WD的监控软件或应用程序的...

    软件测试系列最佳实践

    ### 软件测试系列最佳实践 #### 第1章 软件测试的金字塔体系 在这一章节中,作者详细阐述了构建一个高效且全面的软件测试体系的重要性,并将其形象地比喻为“软件测试的金字塔体系”。这个体系分为五个层次,每一...

    mybatis3.x源码深度解析与最佳实践.pdf

    MyBatis 3.x 源码深度解析与最佳实践 MyBatis 是当前最流行的 Java 持久层框架之一,其通过 XML 配置的方式消除了绝大部分 JDBC 重复代码以及参数的设置,结果集的映射。为了更好地学习和理解 MyBatis 背后的设计...

    AIX5.3安装openSSL、openSSH

    此外,遵循最佳实践,定期更新OpenSSL和OpenSSH到最新版本,以防止可能的安全漏洞。 总之,AIX 5.3上的OpenSSL和OpenSSH安装涉及解压软件包、使用smit工具进行installp安装,以及验证安装成功并启动服务。安装后,...

    php5.3版本中文全手册及正确的打开方式

    而对于有一定经验的开发者,手册会深入讲解高级特性和最佳实践。 正确打开这份手册的方式是使用 PDF 阅读器或者在线预览工具。确保你的阅读器支持中文字符显示,以便正确阅读和理解内容。如果遇到无法打开的情况,...

    SIA SmaartLive 5.3中文版

    4. **测量和比较**:软件允许用户保存测量结果,方便与不同的设置进行比较,快速找出最佳音响配置。 5. **多通道支持**:SmaartLive 5.3支持多个输入和输出通道,适用于复杂的多声道系统,如环绕声环境或大型演出...

    Apache-jmeter5.3.zip

    Apache JMeter 5.3是自动化测试领域广泛应用的一款开源...在实际使用过程中,记得定期查看Apache JMeter的官方文档和社区资源,以获取最新的功能介绍、最佳实践和问题解决方案,这样可以更好地利用这款强大的测试工具。

    STEP 7 V5.3 编程手册.rar

    通过分析这些实例,用户可以学习到实际工程中的最佳实践。 8. **在线帮助与支持**:STEP 7 V5.3软件内置了丰富的在线帮助系统,用户可以直接在软件中查找具体问题的解决方案,这也是手册的一个重要补充。 通过深入...

    S7-SCL编程手册 v5.3(S7-SCL v5.3)

    13. **提示和技巧**:提供了实用的编程技巧和最佳实践,以提高编程效率和程序质量。 14. **词汇表和索引**:提供了方便查阅的词汇表和索引,便于用户快速找到所需信息。 此外,手册中还强调了安全指南,提醒用户...

Global site tag (gtag.js) - Google Analytics