我正在使用version range定义依赖关系:
<script>
processEvent(document, 'scripts_loaded', function(e) {
// Code here
});
</script>
阅读maven版本,我预计它将是“[1.0,2.0) - &gt; 1.0&lt; = x&lt; 2.0”。但 while($row = mysqli_fetch_assoc($locate)){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['grade'] . "</td>";
echo "<td>" . $row['section'] . "</td>";
echo "<td>" . $row['subject'] . "</td>";
$namers = $row['name'];
//echo "<td><center> <button name = 'name1' type = 'submit' value = '$namers'>Go</button> </center></td>";
会产生以下已解决的版本:
+ - org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.0.M9:已提供
如何告诉Maven从增量版本33开始使用任何Major 8版本?我目前正在使用<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>
来解决这个问题。
答案 0 :(得分:2)
您可以通过以下命令行检查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
...这意味着您获得的结果是正确的。
答案 1 :(得分:1)
在解决版本范围时,在版本号之间进行绝对比较。即。它会按原样比较版本,而不是您的意思。
这意味着版本9.0.0.M9
被认为小于9.0.0
,因此属于范围[8.0.33,9.0.0)
的一部分。
我创建了问题MNG-5353,以便在比较互斥上限时排除预发行版本号,但这尚未实现。
在比较专有上限时排除预发行版本,将使您可以使用以下格式指定语义版本范围:[8.0.33,9.0.0)
。
同时,您可以使用类似[8.0.33,8.999.999]
的方法来定义语义版本范围。