Maven 中依赖使用的版本号

最近为了引入一个包,在这个包的使用上看到了定义的依赖的一个版本号定义方式。

<dependency>
  <groupId>com.configcat</groupId>
  <artifactId>configcat-java-client</artifactId>
  <version>[7.0.0,)</version>
</dependency>

这个定义方式有点奇怪,通常我们都是指定完整的版本号的。

解释

经过考古后才知道,Maven 是允许进行这样定义的。

根据我的理解就是 []() 各自表达的意义是不同的。

[] 有等于的意思。

() 没有等于的意思。

同时版本号使用了逗号进行分隔,我们可以想象有一个 X。

[7.0.0,),我们假设在后面插入一个 X。

那上面版本号表达的意思就是:7.0.0 <= X

上面的图片对一些常见的写法进行了说明。