Maven是一个Apache开源项目管理工具,基于项目对象模型POM(Project Object Model),将配置信息定义在一个pom.xml文件中,管理项目构建以及提供其它高级管理工具。


pom.xml中引入依赖库时,需要指定groupId, artifactId和version,比如引入fastjson:


   com.alibaba
   fastjson
   1.2.60


从一个fastjson安全漏洞的修复和版本升级说起,19年9月4日上传发布了maven库1.2.60,修复了当字符串中包含x转义字符时可能引发OOM的问题,增加了AutoType黑名单,由于安全漏洞危害较大,官方建议升级至1.2.60以及更新版本。


那么我们是否可以配置在fastjson新版本发布时,自动使用最新版本呢?答案是可以的,来看配置pom.xml时,dependency信息中版本的高级写法,很像数学公式:


首先说明一点,因为JSON协议以及fastjson库的兼容性和稳定性都非常好,所以才可以考虑自动升级到最新版本,pom.xml中依赖配置这样写,将自动引用版本大于等于1.2.60的fastjson:


    com.alibaba
    fastjson
    [1.2.60, )