java - 是否可以在 VSTS 构建计划或版本中提取 Maven 版本

标签 java spring-boot azure-devops azure-pipelines azure-pipelines-build-task

当前使用 VSTS 通过 Maven 构建 Spring Boot 应用程序。试图弄清楚如何在构建和发布过程中使用/获取 Maven 版本。

这可能吗?

最佳答案

这是一个脚本,它将获取 maven 的版本(给定路径)并将版本号存储在变量中,以便其他任务稍后在构建中使用。

$mvn = "$Env:M2_HOME\bin\mvn.bat"
$version = (& $mvn -v | select-string -pattern '(Apache\sMaven\s)([^\s]*)').Matches.Groups[2].Value
Write-Output ("##vso[task.setvariable variable=MavenVersion;]$version")

环境变量的名称是 MavenVersion,如最后一行所示。您可以像在后续脚本或构建过程中使用任何其他环境变量一样使用此变量。

我在托管构建计算机上测试了此脚本,因此 Maven 的路径位于 M2_HOME 下并以 .bat (Maven 2) 结尾。您可能需要添加更多代码来更通用地找出 Maven 的路径。

关于java - 是否可以在 VSTS 构建计划或版本中提取 Maven 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47214146/

相关文章:

java - CoreOS如何为Docker容器分配内存?

java - 使用SAX解析器,需要所有xml元素(在特定元素下)作为字符串

spring-boot - 如何使用不同的配置文件覆盖特定于配置文件的属性?

java - Spring Boot 与 Thymeleaf - 空上下文

git - 登录失败,在 Azure DevOps 中使用 ctrl+c 取消对 Git 的基本凭据提示

azure - 引用 azure 管道任务 HelmDeploy@0 中设置的 helm 值

java - 如何在每次触摸屏幕时绘制一个新的圆圈?

使用 scala 插件在 Intellij/maven 中配置 1.7 时的 Java 6 类

java - CRUD-Repository OrderBy 不需要参数

azure-devops - 如何在 Azure Pipelines YAML 构建定义中接收修订