最近为了引入一个包,在这个包的使用上看到了定义的依赖的一个版本号定义方式。
- <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
上面的图片对一些常见的写法进行了说明。