【问题标题】:Maven works in cmd but not powershellMaven 在 cmd 中工作,但不在 powershell 中
【发布时间】:2014-03-21 02:13:35
【问题描述】:

我想在 TFS Build Server 上使用 maven 构建我的 java 项目。 TFS 构建定义在工作流中使用调用过程。 invokeprocess 能够运行 powershell 脚本和命令批处理文件。

Maven 构建成功,在 Windows 命令提示符下使用“mvn assembly:assembly -P prod”命令。但是在powershell中没有成功。 (我用远程连接到服务器并在powershell ise上执行)(作为普通用户或作为管理员)

我在 Windows 2012 Standart 64 位机器上安装了 Maven 3.1.1 和 Java Dev Kit 6 update 45。我们使用 NTLM 身份验证和代理。

我定义了以下配置:

环境设置:

JAVA_HOME     C:\Program Files\Java\jdk1.6.0_45

M2            %M2_HOME%\bin

M2_HOME       C:\Program Files\Apache Software Foundation\apache-maven-3.1.1

路径:

  %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;%TFSPowerToolDir%;%BPADir%;%M2%;%JAVA_HOME%\bin

maven settings.xml:

<settings>
<proxies>
<proxy>   
  <active>true</active>
  <protocol>http</protocol>
  <host>proxy.xxx.entp</host>
  <port>8080</port>
  <username>myuser</username>
  <password>mypassword</password>
  <nonProxyHosts>*.xxx.entp|localhost</nonProxyHosts>
</proxy>
</proxies>
</settings>

以下是我的powershell脚本:

# mvn clean install
# mvn assembly:assembly –P prod
Set-ExecutionPolicy Unrestricted -Force
$mvnArgs1 ="mvn assembly:assembly –P prod -Dmaven.test.skip=true".replace('-P','`-P').replace('-D','`-D')
Invoke-Expression $mvnArgs1

以下是powershell中的输出:

please click the image of output powershell

如何在 powershell 中进行 maven 工作?或者任何方式?

【问题讨论】:

标签: maven powershell tfsbuild


【解决方案1】:

你不需要 Invoke-Expression,见我的博文:http://blogs.msdn.com/b/powershell/archive/2011/06/03/invoke-expression-considered-harmful.aspx

在您的情况下,只需像在 cmd 中一样运行命令(事实证明您可能需要添加一些引号):

mvn assembly:assembly -P prod "-Dmaven.test.skip=true"

【讨论】:

  • 作为一个快速说明,每个 -D 参数都应该用自己的引号括起来:"-Dfile=$file" "-Durl=$url"
  • 为什么会这样?
猜你喜欢
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-17
相关资源
最近更新 更多