Maven arbeitet in cmd aber nicht powershell
Will ich bauen mit maven meine java-Projekte auf TFS-Build-Server. TFS-Build-Definition invokeprocess im workflow. invokeprocess können powershell-Skript ausführen und den Befehl batch-Datei.
Maven-build-successed mit " mvn assembly:assembly -P prod
" - Befehl in der windows Eingabeaufforderung. Aber nicht der Erfolg in der powershell. (Ich Verbindung zum server mit dem remote und ausgeführt powershell ise) (entweder als einen normalen Benutzer oder als administrator)
Ich installiert Maven 3.1.1 und Java-Dev-Kit 6 update 45 auf Windows 2012 Standart 64-bit-Maschine.Wir verwenden die NTLM-Authentifizierung und proxy -.
Definierte ich folgende Konfiguration:
Umgebung:
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
Pfad:
%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>
Folgende ist mein powershell-Skript:
# 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
Folgende ist die Ausgabe in der powershell:
bitte klicken Sie auf das Bild der Ausgabe powershell
wie maven funktioniert in der powershell? Oder irgendeiner Weise?
- Bitte schließen Sie das Bild mit deiner Frage, anstatt hochladen auf irgendeinem dubiosen website.
- möglich, Duplikat der Nicht führen Sie Maven mit `mvn -D` argument in Microsoft Powershell
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht Invoke-Expression, siehe mein blog-post: http://blogs.msdn.com/b/powershell/archive/2011/06/03/invoke-expression-considered-harmful.aspx
In Ihrem Fall, führen Sie einfach den Befehl fast genau wie in cmd (es stellt sich heraus, müssen Sie wahrscheinlich fügen Sie einige Zitate):