当前位置: 首页 > 面试题库 >

Maven发布插件-需要SNAPSHOT项目

艾焕
2023-03-14
问题内容

我正在 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不是快照。那可能是原因吗?


问题答案:

我遇到了同样的问题,但是这些解决方案不起作用。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工作区,以确保您重新开始。



 类似资料:
  • 我正在使用Maven发布插件,我正在尝试发布。当我在master上(我使用Git)时,我的项目(多模块)和依赖项(也是多模块)都有SNAPSHOT版本。 假设我想从没有使用快照的master创建一个标记(跳过创建分支)。 这是我的简化pom。xml: 如果我这样做: mvn版本:prepare-Darguments=“-dependency1.version=1.2.3.0-Ddependency

  • 我以一个新的gradle用户的身份创建gradle版本,但我过去曾与maven合作过。 我试图重现maven发布插件的动作: 将分支版本更改为发行号(在svn提交) 如您所见,我正在使用: Nexus OSS作为版本控制库 SVN作为scm Gradle(2.8) 我正试图通过这两个插件实现我的目标: > 将分支版本更改为发行号(在svn提交) 创建标签(位于svn) 将分支版本更改为新快照编号(

  • 我有一个maven项目,有很多模块(和模块内的模块)。我正在使用maven释放插件来控制pom.xml文件中的版本。 当运行命令plugin时,会相应地推送两个带有消息的提交:“[maven-释放-插件]准备发布v0.9.0.38”和“[maven-释放-插件]准备下一次开发迭代”。这里的第二个只是快照版本。 以下是maven release插件设置: 推送时,我也将标签设置为远程git项目(您可

  • 问题内容: 我在最新版本的Jenkins和Maven Release插件上使用SVN,Maven 3.0.3。我正在尝试使用Maven发布插件(通过Jenkins)进行试运行,因此正在执行这些选项…… 但是空运行因以下错误而死… 我的SVN签出方法设置为“始终签出新副本”,并且我的快照存储库中有一个快照版本,而我的发行版本存储库中没有。有没有办法让我获得“反应器项目列表”来查看我的快照存储库? 编

  • 我试图使用目标 release:prepare 生成一个版本,但是当我在 Eclipse 上运行它时,我得到了错误: 无法执行目标org.apache.maven.plugins:maven-estes-plugin:2.0-beta-7:项目mwFramework上的准备(default-cli):无法运行目标清理验证:执行过程中出错。无法运行程序“mvn”(在目录“/home/gnng/Dev

  • 我试图释放,但失败了 MVN发布:执行 错误是 部署失败:未在POM inside distributionManagement元素或-DaltDeploymentRepository=id::layout::url参数中指定repository元素 pom。xml 我不明白这个问题。通过部署插件部署到快照存储库工作正常