Apache Commons Configuration是一個提供統一接口管理配置數據的Java類庫,支持從屬性檔案、XML文檔、Windows INI檔案等17種數據源讀取配置參數。該庫通過CombinedConfigurationBuilder實現多配置源混合載入,並允許用戶擴展抽象類創建自定義配置對象。截至2025年4月,推薦新項目使用2016年發布的2.x版本,其Maven坐標為org.apache.commons:commons-configuration2,1.x版本因安全漏洞已停止維護。
基本介紹
- 最新版本:2.11.0
- 最低Java:5.0+
- 依賴管理:核心模組需commons-lang
- 自動重載:支持檔案變更檢測
- 開發狀態:1.x系停止更新
- 安全提示:1.x存拒絕服務漏洞
功能特性
- 支持單值/多值參數類型化訪問,包括整型、雙精度等數據類型
- 提供CombinedConfiguration混合配置機制,可整合多源配置數據
- 內置.properties、XML等檔案格式解析器,覆蓋主流配置檔案類型
版本演進
- 2011年9月:發布1.7版
- 2012年2月:發布1.8版,API適配Java5且二進制兼容1.7
- 2016年:推出2.x新版架構,更改Maven坐標與包結構
- 2024年:完善檔案重載策略,增加ManagedReloadingStrategy管理接口
安全建議
- 載入不可信數據時可能觸發拒絕服務攻擊
- 官方已停止漏洞修復和技術支持
- 建議現有項目遷移至2.x版本,需調整import語句等代碼結構
檔案配置
- 標準化檔案操作API,支持Properties/Xml等實現類
- 路徑解析優先權:URL>絕對路徑>類路徑資源
- 可配置自動保存與變更重載策略,默認檢測間隔5秒
依賴組件
- 核心功能依賴commons-lang 2.2+和commons-logging
- XML處理需commons-collections 3.1+
- 完整功能需引入commons-beanutils等組件
