无法使用 Maven 构建配置文件在 Jenkins 中构建

Posted

技术标签:

【中文标题】无法使用 Maven 构建配置文件在 Jenkins 中构建【英文标题】:Unable to Build in Jenkins with Maven Build Profile 【发布时间】:2018-10-01 21:11:54 【问题描述】:

我正在尝试在 Jenkins 中构建一个构建配置文件 ID 为 pom.xml 的 maven 项目。但是 Jenkins 仅使用开发配置文件进行构建,而没有捕获任何其他配置文件。使用相同的pom.xml

我已经尝试在命令提示符下构建,它工作正常,但我无法在 Jenkins 中完成。

【问题讨论】:

为什么需要配置文件来构建项目? 您好,感谢您的回复。我们正在使用构建配置文件在不同环境中进行管道部署,我们有开发人员也使用的中心化 pom.xml 文件。相同的代码需要部署在 SIT/UAT/Preprod/Live.. 这不是 Maven 的任务,它更像是 Jenkins 的任务..所以您应该为每个环境构建适当的工件,或者拥有一个部署到适当环境的工件并丰富部署环境的适当配置..问题也是环境之间的区别是什么? 好吧,我在 SVN 中创建了一个新的分支,开发人员无法访问它,并将项目对象模块名称的名称从 pom_updated.xml 更改为 pom.xml ...重命名 pom 工作我.. 可能很傻,但我需要重命名 pom。 【参考方案1】:

我在运行 Jenkins 版本的 maven 3.3.9 时遇到了类似的问题。 2.138。 到目前为止,经过耗时的反复试验,我发现 Jenkins 不能容忍 -P 和配置文件名称之间的空格,它只能处理单个配置文件。所以你应该能够得到这样的东西:

mvn groupId:artifactId:goal -Pprofile-1-only

【讨论】:

【参考方案2】:

你是如何设置你的 Jenkins 来运行命令的?

应使用 -P 选项指定配置文件:

mvn groupId:artifactId:goal -P profile-1,profile-2

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

我的猜测是,在您的 Jenkins 配置(构建步骤)中,您没有指定任何内容,或者您​​提供了错误的配置文件。

你能告诉我们吗?

【讨论】:

我在 Maven 项目的构建步骤中提供了配置文件为 (clean install -Psit) 和 pom.xml。坐姿配置文件在 pom.xml 中可用,我已经尝试过,但它不起作用,只能捕获开发配置文件 您在 Jenkins 中使用什么命令来构建您的应用程序?听起来您的 maven 设置很好,但您的 Jenkins 设置可能缺少一个选项。

以上是关于无法使用 Maven 构建配置文件在 Jenkins 中构建的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF-8

Maven 构建中的错误:无法识别 mvn.bat

Maven学习(十四)-----Maven 构建配置文件

5Maven-构建配置文件

Maven 构建配置文件

jenkin运行jmeter自动化脚本(jenkins+jmeter+ant)