0

在 Jenkins 中,在 maven 2 作业中,当我为作业检查“每当构建 SNAPSHOT 依赖项时构建”时,会添加两个上游作业。这些是正确的项目,但版本不正确(例如:5.0-SNAPSHOT 而不是 4.0.3-SNAPSHOT)。在构建的指纹列表中,可以清楚地看到使用的是 5.0-SNAPSHOT 版本。

目前,作为一种解决方法,我手动定义了工作关系。

什么会导致此类问题以及如何解决?上游作业检测的具体逻辑是什么?

编辑: pom 看起来像这样:

...
<packaging>pom<packaging>

<modules>
  <module>mod1</module>
  ...
  <module>mod20</module>
</modules>
<properties>
  <project.B.version>5.0-SNAPSHOT</project.B.version>
  ...
</properties>
...
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>project.B.group</groupId>
      <artifactId>Bartifact</artifactId>
      <version>${project.B.version}</version>
      <scope>provided</scope>
    </dependency>
...
  </dependencies>
</dependencyManagement>

然后是模块 mod1:

<parent>...</parent>
<packaging>war</packaging>
<dependencies>
  <dependency>
    <groupId>project.B.group</groupId>
    <artifactId>Bartifact</artifactId>
    <scope>compile</scope>
  </dependency>
</dependencies>

此外,可能值得一提的是,我为所有这些项目创建了两次工作,针对 2 个不同的版本。所以有工作:

  • main-5.0-SNAPSHOT
  • B-5.0-快照
  • main-4.0.3-SNAPSHOT
  • B-4.0.3-快照

并且由于某种原因 main-5.0-SNAPSHOT 将 B-4.0.3-SNAPSHOT 作为上游项目,而 main-4.0.3-SNAPSHOT 将 B-5.0-SNAPSHOT 作为上游项目。这很奇怪。

4

1 回答 1

0

好吧,我找到了答案——这是最近一个错误的结果。更多细节:

相关:

于 2012-11-08T01:13:08.377 回答