首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jenkins maven分割版本范围

Jenkins maven分割版本范围
EN

Stack Overflow用户
提问于 2017-06-16 09:06:17
回答 2查看 620关注 0票数 0

问题所在

Maven解释:

代码语言:javascript
运行
复制
versions:update-parent -N -DallowSnapshots=true -DparentVersion=[1.8.0,1.9.0) 

作为:

代码语言:javascript
运行
复制
versions:update-parent -N -DallowSnapshots=true '-DparentVersion=[1.8.0' '1.9.0)'

我试图像这样在Jenkinsfile管道中运行Maven (为可读性添加了换行,这都在一行上):

代码语言:javascript
运行
复制
sh "mvn release:clean release:prepare -X 
-DcheckModificationExcludeList=pom.xml,pom.xml.versionsBackup 
-Dresume=false 
-DpreparationGoals=\'clean install -Dmaven.test.failure.ignore=true' 
-Darguments=\'-Dbuild.phase.beforeDeploy -DskipTests=true\' 
-DcompletionGoals=\'versions:update-parent -N -DallowSnapshots=true -DparentVersion=[1.8.0,1.9.0)\' 
-DtagNameFormat=@{project.groupId}-@{project.artifactId}-@{project.version}"

当Maven开始执行完成目标部分时,它会拆分版本范围,将其视为两个单独的参数,并退出时会出现错误。相关的日志碎片:

代码语言:javascript
运行
复制
[INFO] Executing goals 'versions:update-parent -N -DallowSnapshots=true -DparentVersion=[1.8.0,1.9.0)'...
[DEBUG] Using ${maven.home} of: '/home/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn-3.2.5'.
[DEBUG] Executing: /bin/sh -c cd /home/jenkins/workspace/ife-jen-maven-runner_master-6CIUKZ3STQA5HR4E2RYGZ5GBNFZPFT7UYLMWJ5EMFIBJ6ATW7RUA/appdir && /home/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn-3.2.5/bin/mvn -X -D maven.repo.local=/home/jenkins/.m2/repository -s /tmp/release-settings1714400534004224741.xml -D skipTests=true -D build.phase.beforeDeploy=true -P nexus versions:update-parent -N -DallowSnapshots=true '-DparentVersion=[1.8.0' '1.9.0)'

[INFO] [DEBUG] === REACTOR BUILD PLAN ================================================
[INFO] [DEBUG] Project: my-project:pom:6.4.123-SNAPSHOT
[INFO] [DEBUG] Tasks:   [versions:update-parent, 1.9.0)]

INFO] [ERROR] Unknown lifecycle phase "1.9.0)". You must specify a valid lifecycle phase...

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project grin-colis: Maven execution failed, exit code: '1' -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project grin-colis: Maven execution failed, exit code: '1'
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)

你曾经遇到过类似的问题吗?你是怎么处理的?

设置

构建在linux从服务器上运行(容器不是由Jenkins管理的)。

版本

  • 詹金斯2.46.1
  • 2.5管道
  • Maven集成插件2.16
  • 容器JDK OpenJDK 1.8.0_121
  • 作业JDK Oracle JDK 6u45 (项目所需的java 6,使用安装自动选项并在Jenkinsfile工具部分声明)
  • Maven 3.2.5
  • Maven版本插件2.4 (在pom中声明)
EN

Stack Overflow用户

发布于 2017-06-16 09:10:59

您可能需要将参数放入(转义)引号中:

代码语言:javascript
运行
复制
sh "mvn release:clean release:prepare -X 
-DcheckModificationExcludeList=pom.xml,pom.xml.versionsBackup 
-Dresume=false 
-DpreparationGoals=\'clean install -Dmaven.test.failure.ignore=true' 
-Darguments=\'-Dbuild.phase.beforeDeploy -DskipTests=true\' 
-DcompletionGoals=\'versions:update-parent -N -DallowSnapshots=true -DparentVersion=\"[1.8.0,1.9.0)\"\' 
-DtagNameFormat=@{project.groupId}-@{project.artifactId}-@{project.version}"
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44585196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档