[英]Maven version range picking up unexpected dependency
我有一个版本范围定义的依赖项:
<properties>
<tomcat.version>[8.0.33,9.0.0)</tomcat.version>
</properties>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
<scope>provided</scope>
</dependency>
阅读maven版本后,我希望它的类型是[[1.0,2.0)-> 1.0 <= x <2.0”。 但是dependency:tree
产生以下已解析的版本:
+-org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.0.M9:提供
我怎样才能告诉Maven使用从增量版本33开始的任何Major 8版本? 我目前正在使用[8.0.33,8.5.4]
代替它。
您可以通过以下命令行检查版本比较在Maven中的结果:
java -jar apache-maven-3.3.9/lib/maven-artifact-3.3.9.jar 9.0.0 9.0.0.M9
结果如下:
Display parameters as parsed by Maven (in canonical form) and comparison result:
1. 9.0.0 == 9
9.0.0 > 9.0.0.M9
2. 9.0.0.M9 == 9.0.0.milestone-9
这表明9.0.0
大于9.0.0.M9
...这意味着您得到的结果是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.