【问题标题】:How to deploy an EAR file to wildfly server using ProcessBuilder?如何使用 ProcessBuilder 将 EAR 文件部署到 Wildfly 服务器?
【发布时间】:2015-03-12 14:14:44
【问题描述】:

我需要部署一个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() 进行部署?

【问题讨论】:

  • 我想编写代码以在 build.gradle (Eclipse IDE) 中部署服务器。我试过这段代码: ProcessBuilder pb = new ProcessBuilder("jboss-cli.bat", "--connect", "--command=deploy --force C:\\Users\\jmartin5\\git\\ecommerce\\电子商务\\build\\libs\\ECommerce.ear");当我运行任务时,构建成功。但我看不到 EAR 文件被部署在控制台中。请帮帮我。

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


【解决方案1】:

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

另外,像这样组合第三个和第四个参数:

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

【讨论】:

  • 我执行了 ProcessBuilder pb = new ProcessBuilder("jboss-cli.bat", "--connect", "--command=deploy --force C:\\Users\\jmartin5\\ git\\ecommerce\\ECommerce\\build\\libs\\ECommerce.ear");但是构建是成功的。但是 Ear 文件没有被部署。
猜你喜欢
  • 2020-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
  • 2011-03-08
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
相关资源
最近更新 更多