如何使用ProcessBuilder将EAR文件部署到wildfly服务器?

时间:2015-01-14 11:45:48

标签: java deployment jboss gradle command-line-interface

我需要将一个ear文件部署到wildfly服务器。

将ear文件复制到wildfly的部署文件夹并启动服务器时,它将被部署。但这不是我的要求。 我想用jboss-cli部署它。 当我手动打开jboss-cli并执行以下命令时,它就会被部署。

jboss-cli.bat --connect --command="deploy --force C:\\Users\\jmk\\git\\ec\\EC\\build\\libs\\test.ear"

现在我必须使用Java代码执行此命令。 我尝试了以下代码:

ProcessBuilder pb = new ProcessBuilder("jboss-cli.bat", "--connect", "--command","\"deploy --force C:\\Users\\jmartin5\\git\\ecommerce\\ECommerce\\build\\libs\\ECommerce.ear\"");
 Process p = pb.start();

但部署没有发生。

如何编写一些代码以使用ProcessBuilder()进行部署?

1 个答案:

答案 0 :(得分:0)

删除\"构造函数的最后一个参数中的ProcessBuilder对。您不需要它们,因为ProcessBuilder不会按空格标记参数。

另外,将第3和第4个参数合并为:

ProcessBuilder pb = new ProcessBuilder("jboss-cli.bat", "--connect", "--command=deploy --force C:\\Users\\jmartin5\\git\\ecommerce\\ECommerce\\build\\libs\\ECommerce.ear");