首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用WildFly脚本取消部署Groovy10

无法使用WildFly脚本取消部署Groovy10
EN

Stack Overflow用户
提问于 2017-10-04 19:51:46
回答 2查看 410关注 0票数 0

我正在尝试使用Groovy10在WildFly 10上取消部署应用程序。对于取消部署,我将通过Groovy脚本执行以下命令

代码语言:javascript
复制
'{Wildfly_home}/bin/jboss-cli.sh -c --command="undeploy {earfile}"'.execute()

该命令根本没有被执行。所以我捕获了错误流,它给了我以下消息:

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

我也试着去掉了双引号,但没有用。

有人能帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2017-10-05 00:45:17

只有一个很长的机会:查看手册

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

我建议这样做:

代码语言:javascript
复制
'{Wildfly_home}/bin/jboss-cli.sh -c --command=undeploy\ {earfile}'.execute()

代码语言:javascript
复制
'{Wildfly_home}/bin/jboss-cli.sh -c "--command=undeploy {earfile}"'.execute()

请注意,这个想法是让解释器解析所有--命令...作为一个单独的论点,也许这样我们就可以得到它所期望的论点。

编辑过的

也许您的问题在于执行整个命令行的方式。想做这样的事吗?

代码语言:javascript
复制
def arguments = [ '/bin/sh', '-c', '/wherever/it/is/jboss-cli.sh', '-c', '--command=undeploy /some/dir/your.ear' ]
ProcessBuilder builder = new ProcessBuilder(executionChain);
builder.environment().putAll(envVars);// optional
builder.directory(baseDir); // optional
Process p = builder.start();
int ret = p.waitFor();

也许这样解释器就不会因为分离命令参数而伤害你了。

票数 0
EN

Stack Overflow用户

发布于 2017-10-05 18:59:12

我可以解决这个问题。编辑后的命令如下

"{Wildfly_home}/bin/jboss-cli.sh -c --命令=‘取消部署{earfile}'".execute()

我把单引号换成了双引号,反之亦然。这对我很管用。谢谢你的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46564144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档