Azure Pipelines 无法识别自托管代理中的 mvn
Azure Pipelines does not recognize mvn in self hosted agent
我已经在自己的代理上安装了 maven,当我从 putty 运行 命令 mvn -v
时,我得到了这个输出:
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", version:
"4.15.0-1071-azure", arch: "amd64", family: "unix"
有了这个输出我确保 maven 安装正确 并且环境变量设置正确。
但是当我从 azure devops 对该代理执行 运行 maven 任务时,我收到 以下错误消息:
##[error]Unhandled: Unable to locate executable file: 'mvn'. Please verify either the file path exists or the file can be found within a
directory specified by the PATH environment variable. Also check the
file mode to verify the file is executable.
我只尝试 运行 执行命令 mvn -v
的 azure devops bash 任务 我收到以下错误:
mvn: command not found
感谢您的支持,因为我确信 Maven 已正确安装和配置,但由于某些原因 azure devops 无法识别这些命令
我尝试了很多方法,但 none 奏效了。
最后我想到从 azure devops 分配环境变量。
首先,我尝试创建一个 bash 任务来 运行 命令 export M2_HOME=/opt/maven
但它没有用。
然后我尝试了 azure 自己的说明:echo "##vso[task.setvariable variable=M2_HOME]/opt/maven"
并且工作正常。
具体的解决办法是在maven任务之前创建两个任务,分配所有需要的环境变量,如下:
任务 运行 以下命令:
注意: A分配在单个任务中不起作用,因为第二个任务使用在第一个任务中分配的变量。
如果是定义一个变量并在同一个任务中使用它是行不通的。
我已经在自己的代理上安装了 maven,当我从 putty 运行 命令 mvn -v
时,我得到了这个输出:
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", version: "4.15.0-1071-azure", arch: "amd64", family: "unix"
有了这个输出我确保 maven 安装正确 并且环境变量设置正确。
但是当我从 azure devops 对该代理执行 运行 maven 任务时,我收到 以下错误消息:
##[error]Unhandled: Unable to locate executable file: 'mvn'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
我只尝试 运行 执行命令 mvn -v
的 azure devops bash 任务 我收到以下错误:
mvn: command not found
感谢您的支持,因为我确信 Maven 已正确安装和配置,但由于某些原因 azure devops 无法识别这些命令
我尝试了很多方法,但 none 奏效了。
最后我想到从 azure devops 分配环境变量。
首先,我尝试创建一个 bash 任务来 运行 命令 export M2_HOME=/opt/maven
但它没有用。
然后我尝试了 azure 自己的说明:echo "##vso[task.setvariable variable=M2_HOME]/opt/maven"
并且工作正常。
具体的解决办法是在maven任务之前创建两个任务,分配所有需要的环境变量,如下:
任务 运行 以下命令:
注意: A分配在单个任务中不起作用,因为第二个任务使用在第一个任务中分配的变量。 如果是定义一个变量并在同一个任务中使用它是行不通的。