一尘不染

Maven发布插件-需要SNAPSHOT项目

jenkins

我正在 Jenkins 内部使用M2发行插件,该 插件 内部调用了 maven-release-plugin 2.3.2
,而在构建时抛出此错误: You don't have a SNAPSHOT project in the reactor projects list 。问题是,我的项目poms 的版本 确实 是1.0.0-SNAPSHOT。我想念什么?

com.abc.defcompany parent POM,而我只是mvn release为了utils

<modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.abc</groupId>
        <artifactId>def</artifactId>
        <version>1.0.0</version>
    </parent>

    <groupId>com.abc.def</groupId>
    <artifactId>utils</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>utils</name>

是的,我已经完成了基本的Google +
SO拖网,并且到处都指出我的POM应该使用SNAPSHOT作为版本,而该版本已经存在。除了我公司的父POM不是快照。那可能是原因吗?


阅读 456

收藏
2020-07-25

共1个答案

一尘不染

我遇到了同样的问题,但是这些解决方案不起作用。Tomek
Kaczanowski的这篇博客文章真是令人震惊

原因通常是Jenkins SVN策略设置为“尽可能多地使用svn更新”,这不会清理两次构建之间的构建工作空间。

当您尝试剪切发行版时,Jenkins将更新您的pom并创建一些临时文件。如果发行失败,则不会清除这些pom更新和临时文件。因此,当您修复pom并尝试重新构建时,You don't have a SNAPSHOT project in the reactor projects list由于这些时髦的工作区工件使Jenkins感到困惑,您会收到错误消息。

解决方案是更改您的Jenkins SVN策略。以下任何一项都可以工作:

  • 总是签出新的副本
  • 首先删除未经版本控制/忽略的文件,然后进行“ svn更新”,以模拟干净签出
  • 尽可能多地使用svn update,并在更新前使用’svn revert’

我还建议您清理一下Jenkins工作区,以确保您重新开始。

2020-07-25