Ne peut pas exécuter Maven en utilisant " mvn -D` argument dans Microsoft Powershell, mais travaille dans l'Invite de Commande
Je suis en train de construire notre projet web à partir de la ligne de commande, mais le saut de l'essai. Je suis l'aide de la commande mvn clean install -Dmaven.test.skip=true
.
Lorsque je lance la commande de la traditionnelle noir & blanc Invite de Commande (aka DOS shell) la commande fonctionne, mais quand je le lance à partir de la commande à partir de "Windows PowerShell" j'obtiens l'erreur suivante:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-
artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources,
compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepar
e-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy, pre-clean, clean, po
st-clean. -> [Help 1]
Ce qui est à l'origine de cette divergence et comment puis-je obtenir PowerShell pour se comporter comme la traditionnelle Invite de Commande?
C'est en cours d'exécution sur Windows 7.
Vous devez vous connecter pour publier un commentaire.
Si vous rencontrez des problèmes avec PowerShell interprétation des arguments passés à une console EXE, essayez d'utiliser le
echoargs.exe
utilitaire qui vient avec le PowerShell Communauté Extensions. Avec cet outil, vous pouvez voir comment PowerShell fournit les arguments de l'EXE par exemple:Réponse courte - utilisation citant
'-Dmaven.test.skip=true'
Selon cet e-mail thread:
La suivante fonctionne pour moi.
Il ressemble à l'-D est un type d'un caractère spécial et nécessite de s'échapper.
Notez également que –X fonctionne très bien et ne nécessite pas de s'échapper.
Notez l'utilisation de l'apostrophe dans la commande de remplacement, si vous utilisez des guillemets (c'est à dire "), vous devez utiliser `.
Je suis à l'aide de Powershell 2.0 (2.0.1.1) sur windows 7