首页 > 解决方案 > Maven 中的版本不适用于名称中带有特殊字符的项目,例如“_”

问题描述

我已经探索了 Maven 中的版本范围,目前在我的项目中与 Jenkins 一起用于构建。现在,对于名称包含“_”等特殊字符的项目,我遇到了麻烦。Jenkins 无法识别我为这些项目指定的范围内的最新构建版本。

如图所示,我有一堆项目必须一个接一个地在 Jenkins 的层次结构中构建。1. projectA 的版本 - 0.0.1-SNAPSHOT。(已发布并转为0.0.1) 2. 现在我将在projectB 中更新这个projectA 的版本并触发构建。

为了避免每次发布迭代都在 projectB 中多次更新,我在 projectB 中进行了版本定义,如下所示。

<dependency>
    <groupId>myProjects</groupId>
    <artifactId>projectA</artifactId>
    <version>[0.0.1,0.0.99]</version>
 </dependency>

现在,我将触发 projectA,并且不会更新 projectB 中的任何内容。现在,如果我触发 projectB,它将采用指定范围内的最新版本。

问题 :

当我将 projectA 重命名为 projectA_1 时出现问题,jenkins 无法在版本范围内找到最新版本并且构建失败说“无法在 cleanroom.dev 中找到工件 projectA_1:jar:[0.0.1-0.0.99] 。”

PS:我不能更改项目名称。

我添加的新依赖项是

<dependency>
    <groupId>myProjects</groupId>
    <artifactId>projectA_1</artifactId>
    <version>[0.0.1,0.0.99]</version>
</dependency>

<dependency>
    <groupId>myProjects</groupId>
    <artifactId>projectA_2</artifactId>
<version>[0.0.1,0.0.99]</version>
</dependency>

标签: mavenjenkinsbuildrangeversion

解决方案


推荐阅读