企业开源实践之旅:基于红帽客户的开源建设实践案例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.1 组件

开源组件是开源世界中最小的可用单元,比较有代表性的是Apache社区中的很多common组件,开源组件为应用开发带来了大量便利的基础功能,Java工程师在每个项目中都会用到。通常项目组会自己决定要引用哪些组件,一个企业中会有上千种不同版本的组件包。当2021年暴露Log4j漏洞时,很多企业不得不到每台服务器的文件系统中搜索Log4j的痕迹。这样的问题不会是唯一一次也不会是最后一次。如果开发时的代码设计方式不对,组件的使用方式对应用系统的代码侵入性会非常强,出现问题时会很难快速换用其他组件,因此合理封装第三方的开源组件、通过Maven的统一管理、引入安全代码扫描机制,对于开源组件的管理至关重要,可以让企业对开源组件的使用进入有序状态,并且组件的来源和可靠性得以管理。