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

Java 如何使用ProcessBuilder将EAR文件部署到wildfly服务器?,java,deployment,jboss,gradle,command-line-interface,Java,Deployment,Jboss,Gradle,Command Line Interface,我需要在wildfly服务器上部署一个ear文件 将ear文件复制到wildfly的部署文件夹并启动服务器时,它正在部署。但这不是我的要求。 我想使用jboss cli部署它。 当我手动打开jboss cli并执行下面的命令时,它正在部署 jboss-cli.bat --connect --command="deploy --force C:\\Users\\jmk\\git\\ec\\EC\\build\\libs\\test.ear" 现在我必须使用Java代码执行这个命令。 我尝试了以下

我需要在wildfly服务器上部署一个ear文件

将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部署的代码?

删除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");

我执行了ProcessBuilder pb=newprocessbuilderjboss-cli.bat,-connect,-command=deploy-force C:\\Users\\jmartin5\\git\\ecommerce\\ecommerce\\build\\libs\\ecommerce.ear;但是构建是成功的。但是没有部署Ear文件。我想在build.gradle Eclipse IDE中编写部署服务器的代码。我尝试了以下代码:ProcessBuilder pb=newprocessbuilderjboss-cli.bat,-connect,-command=deploy-force C:\\Users\\jmartin5\\git\\ecommerce\\ecommerce\\build\\libs\\ecommerce.ear;当我运行任务时,构建成功。但我看不到EAR文件在控制台中部署。请帮帮我。