我想在TFS Build Server上使用maven构建我的java项目。 TFS构建定义在工作流程中使用invokeprocess。 invokeprocess能够运行powershell脚本和命令批处理文件。Maven在cmd中工作,但不是powershell
Maven构建在Windows命令提示符下使用“mvn assembly:assembly -P prod
”命令获得成功。但在PowerShell中没有成功。 (我通过远程连接到服务器并在powershell ise上执行)(无论是作为普通用户还是作为管理员)
我在Windows 2012 Standart 64位机器上安装了Maven 3.1.1和Java Dev Kit 6更新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>
以下是我powershe LL脚本:
# 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
如何Maven的PowerShell中的作品?或者任何方式?
请包括与您的问题的图像,而不是上传到一些阴凉的网站。 –
[无法在Microsoft Powershell中使用\'mvn -D \'参数运行Maven]的可能重复(http://stackoverflow.com/questions/6347985/cannot-run-maven-using-mvn-d-argument-within- microsoft-powershell) – ArtB