2017-10-04 7 views
0

J'essaye de ne pas déployer une application sur WildFly 10 en utilisant Groovy. Pour le désengagement, j'exécute la commande suivante via un script GroovyEchec de l'annulation du déploiement de WildFly 10 en utilisant le script Groovy

'{Wildfly_home}/bin/jboss-cli.sh -c --command="undeploy {earfile}"'.execute() 

La commande n'a pas été exécutée du tout. Donc, je saisis flux d'erreur qui m'a donné le message suivant:

'***.ear"' is assumed to be a command(s) but the commands to execute have been specified by another argument: ["undeploy] 

J'ai essayé en supprimant les guillemets doubles, mais aussi bien d'aucune utilité.
Quelqu'un peut-il m'aider avec cela?

+1

Votre earform at-il des espaces dans le chemin? – Vampire

+0

Il n'y a pas d'espaces dans le chemin du fichier. –

+0

Quelle est l'efficacité de la commande lorsque vous l'exécutez à partir du shell? – daggett

Répondre

0

Juste un long shot: regarder le manuel

https://docs.jboss.org/author/display/WFLY/Command+Line+Interface?_sscc=t

Je suggère quelque chose comme

'{Wildfly_home}/bin/jboss-cli.sh -c --command=undeploy\ {earfile}'.execute() 

ou

'{Wildfly_home}/bin/jboss-cli.sh -c "--command=undeploy {earfile}"'.execute() 

S'il vous plaît noter que l'idée est d'avoir l'interprète pour analyser toute la - commande ... comme un seul argument, mayb De cette façon, nous pouvons obtenir l'argument comme il l'attend.

Edité

Peut-être que votre problème est la façon d'exécuter toute la ligne de commande. J'ai essayé de faire quelque chose comme ça? Peut-être que de cette façon l'interpréteur arrêtera de vous blesser en séparant l'argument de la commande.

+0

J'avais essayé la première suggestion de vous, qui m'a donné le même message d'erreur. J'ai essayé la deuxième manière mais ai toujours eu l'erreur comme '***.ear "'est supposé être une commande (s) mais les commandes à exécuter ont été spécifiées par un autre argument: [" --command = undeploy] –

+0

Modifier la réponse pour la mettre comme il est recommandé maintenant dans Java Manuel. Il semble que votre problème est de battre l'interpréteur en ligne de commande afin de rassembler vos arguments, –

0

Je pourrais résoudre le problème. La commande éditée est comme ci-dessous

"{} Wildfly_home /bin/jboss-cli.sh -c --command = '{undeploy earfile}". Execute()

J'ai troqué les guillemets simples avec double citations et vice versa. Et cela a fonctionné pour moi. Merci pour votre aide.