Maven是一个Apache开源项目管理工具,基于项目对象模型POM(Project Object Model),将配置信息定义在一个pom.xml文件中,管理项目构建以及提供其它高级管理工具。
在pom.xml中引入依赖库时,需要指定groupId, artifactId和version,比如引入fastjson:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>
从一个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:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>[1.2.60, )</version>
</dependency>
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/187045.html