繁体   English   中英

Azure 管道无法识别自托管代理中的 mvn

[英]Azure Pipelines does not recognize mvn in self hosted agent

我已经在我自己的代理上安装了 maven,当我从 putty 运行命令mvn -v时,我得到了这个 output:

Maven home: /opt/maven Java version: 1.8.0_292, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre Default locale: en_US, platform encoding: UTF-8 OS name: " linux”,版本:“4.15.0-1071-azure”,arch:“amd64”,家族:“unix”

有了这个 output ,我确保 maven 安装正确并且环境变量设置正确。

但是,当我从 azure devops 在此代理上运行 maven 任务时,我收到以下错误消息

##[错误]未处理:无法找到可执行文件:'mvn'。 请验证文件路径是否存在,或者该文件是否可以在 PATH 环境变量指定的目录中找到。 还要检查文件模式以验证文件是否可执行。

我尝试仅运行 azure devops bash 任务,该任务将执行命令mvn -v我收到以下错误

mvn:找不到命令

感谢您的支持,因为我确信 Maven 已安装和配置良好,但由于某种原因 azure devops 无法识别这些命令

我尝试了很多方法,但都没有奏效。

最后我想到从 azure devops 分配环境变量。

首先,我尝试创建一个 bash 任务,该任务将运行命令export M2_HOME=/opt/maven但它不起作用。

然后我尝试了 azure 自己的指令: echo "##vso[task.setvariable variable=M2_HOME]/opt/maven"并且效果很好。

具体解决方案是在分配所有必要环境变量的 maven 任务之前创建两个任务,如下所示:

在此处输入图像描述

任务运行以下命令:

在此处输入图像描述

在此处输入图像描述

注意:分配在单个任务中不起作用,因为第二个任务使用在第一个任务中分配的变量。 如果要定义一个变量并在同一任务中使用它,它将不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM