【问题标题】:Azure Pipelines Command Line Task: "Cannot bind argument to parameter 'LiteralPath' because it is an empty string"Azure Pipelines 命令行任务:“无法将参数绑定到参数‘LiteralPath’,因为它是一个空字符串”
【发布时间】:2022-01-24 15:40:33
【问题描述】:

我在多台机器上安装了管道代理,每台机器都有一个 .env 文件,因为每台机器的环境变量的本地值略有不同。 但是,其中一个不起作用。在每台机器上都以相同的方式安装和配置代理。

在我的管道中,我有一个在$(Build.Repository.LocalPath) 文件夹中工作的命令行任务。当它运行命令mvn clean install -DskipTests=true 时,我收到标题中关于空字符串的错误。在文件中,我确保 M2_HOME 指向 maven 目录,并且 Java 和 Maven 已添加到“路径”中。格式看起来像这样,并且对于所有机器上的每个 .env 文件都是相同的格式。有什么线索吗?

JAVA_HOME=C:\\softwarebuild\\soft\\java\\jdk-11.0.2

M2_HOME=C:\\Users\\[redacted]\\.m2\\wrapper\\dists\\apache-maven-3.6.0-bin\\3rgjh30jneo7541hun7uggltkb\\apache-maven-3.6.0

Path=JAVA_HOME;M2_HOME\\bin

编辑:我在打开系统诊断的情况下运行。它是在告诉我找不到 cmd.exe 吗? “cmdline.ps1”的第一行就是[CmdletBinding()]

2022-01-24T18:20:55.0366255Z Script contents:
2022-01-24T18:20:55.0380447Z mvn clean install -DskipTests=true
2022-01-24T18:20:55.0643303Z ##[debug]AGENT_VERSION: '2.196.2'
2022-01-24T18:20:55.0803490Z ##[debug]AGENT_TEMPDIRECTORY: 
'C:\agents\_work\_temp'
2022-01-24T18:20:55.0844911Z ##[debug]Asserting container path exists: 
'C:\agents\_work\_temp'
2022-01-24T18:20:55.1197587Z ##[debug]Leaving 
C:\agents\_work\_tasks\CmdLine_d9bafed4-0b18-4f58-968d- 
86655b4d2ce9\2.198.0\cmdline.ps1.
2022-01-24T18:20:55.1295729Z ##[debug]Caught exception from task script.
2022-01-24T18:20:55.1356782Z ##[debug]Error record:
2022-01-24T18:20:55.2573018Z ## 
[debug]C:\agents\_work\_tasks\CmdLine_d9bafed4-0b18-4f58-968d- 
86655b4d2ce9\2.198.0\cmdline.ps1 : Cannot bind argument to parameter 
'LiteralPath' because it is an empty string.
2022-01-24T18:20:55.2589074Z ##[debug]At line:1 char:1
2022-01-24T18:20:55.2616630Z ##[debug]+ . 
'C:\agents\_work\_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce ...
2022-01-24T18:20:55.2641009Z ##[debug]+ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-24T18:20:55.2664818Z ##[debug]    + CategoryInfo          : 
InvalidData: (:) [cmdline.ps1], ParameterBindingValidationException
2022-01-24T18:20:55.2688247Z ##[debug]    + FullyQualifiedErrorId : 
ParameterArgumentValidationErrorEmptyStringNotAllowed,cmdline.ps1
2022-01-24T18:20:55.2711281Z ##[debug] 
2022-01-24T18:20:55.2751043Z ##[debug]Script stack trace:
2022-01-24T18:20:55.2827845Z ##[debug]at <ScriptBlock>, 
C:\agents\_work\_tasks\CmdLine_d9bafed4-0b18-4f58-968d- 
86655b4d2ce9\2.198.0\cmdline.ps1: line 42
2022-01-24T18:20:55.2852703Z ##[debug]at <ScriptBlock>, <No file>: line 
1
2022-01-24T18:20:55.2878438Z ##[debug]at <ScriptBlock>, <No file>: line 
22
2022-01-24T18:20:55.2903959Z ##[debug]at <ScriptBlock>, <No file>: line 
18
2022-01-24T18:20:55.2932146Z ##[debug]at <ScriptBlock>, <No file>: line 
1
2022-01-24T18:20:55.2974680Z ##[debug]Exception:
2022-01-24T18:20:55.3223441Z ## 
[debug]System.Management.Automation.ParameterBindingValidationException: 
Cannot bind argument to parameter 'LiteralPath' because it is an empty 
string.

【问题讨论】:

    标签: azure-devops tfs azure-pipelines maven-3 azure-pipelines-tasks


    【解决方案1】:

    我缺少一个名为“ComSpec”的环境变量。该脚本期望找到该变量,路径的值指向 cmd.exe。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      相关资源
      最近更新 更多