2014-02-20 104 views
6

我想在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中的作品?或者任何方式?

+0

请包括与您的问题的图像,而不是上传到一些阴凉的网站。 –

+0

[无法在Microsoft Powershell中使用\'mvn -D \'参数运行Maven]的可能重复(http://stackoverflow.com/questions/6347985/cannot-run-maven-using-mvn-d-argument-within- microsoft-powershell) – ArtB

回答

相关问题