代码依赖的2种情况
发布时间:2020-12-13 19:41:49 所属栏目:百科 来源:网络整理
导读:代码依赖有2种情况: 第一种是“静态依赖”,这种情况最常见。比如项目A依赖了Spring框架,那么只需要将Spring的jar包引入。每次只要编译A就可以,不需要每次先编译Spring的源码,然后再编译A(因为可以认为Spring是稳定的) 如果Spring升级了,那么项目需要
代码依赖有2种情况: 第一种是“静态依赖”,这种情况最常见。比如项目A依赖了Spring框架,那么只需要将Spring的jar包引入。每次只要编译A就可以,不需要每次先编译Spring的源码,然后再编译A(因为可以认为Spring是稳定的) 如果Spring升级了,那么项目需要引入新版本的jar包,然后重新编译一次。如果组件的API发生变化,造成项目编译失败,再调整受影响的代码即可 第二种是“动态依赖”,这种情况也很普遍。比如一个项目拆分成了2个工程,ProjectA和ProjectB,其中ProjectA是依赖ProjectB的 2个工程并行开发,那么这个时候A就不能依赖B编译得到的jar包,因为B也不稳定。如果A依赖3月1日的B编译得到的jar包,3月2日B删除了一个方法,那么由于A的依赖的jar包是旧的,无法感知这一变化,当A提交了代码之后,整个项目整体编译就失败了 这种情况下,应该将B设置为A的依赖工程,即A依赖B整个工程,而不是依赖B编译后得到的jar包。然后每次编译时,应该先编译B,再由B编译得到的jar包,对A进行编译 由此可见,当项目变得复杂之后,依赖关系和编译顺序,就会变成一个很头疼的问题(当项目团队规模大的时候,更是如此)。引入maven是一个很好的办法,可以降低依赖管理的复杂度 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – 如何使用无头铬与水豚和硒
- ruby-on-rails – ActionDispatch :: Routing :: RouteSet#
- c – 如何访问嵌套在命名空间中的未命名命名空间变量?
- STM8S---选项字节(Option Byte)写操作之IO复用
- 浅谈vue中数据双向绑定的实现原理
- Postgresql – 针对Active Directory(AD)的LDAP身份验证 –
- swift开发笔记11 - 使用UIAlertController在底部弹出日期选
- ruby-on-rails – 活动管理导航链接
- 零XML配置 SpringMVC 进阶之路 - 配置消息转换器
- 如何更新Xcode安装“UNIX开发支持”?