如何使用Java代码使用jboss-cli命令将EAR文件部署到wildfly-17.0.1服务器

时间:2019-10-07 14:37:04

标签: java wildfly jboss-cli

我想使用jboss-cli将ear文件部署到wildfly-17.0.1服务器。我尝试使用Java代码执行命令,但是我总是遇到错误,这是我的代码:

Object instance = ReflectionUtil.getClass("org.jboss.as.cli.CommandContextFactory").getMethod("getInstance").invoke(null);
ctx = instance.getClass().getMethod("newCommandContext",String.class,String.class,char[].class).invoke(instance,"localhost:"+server.getProperty(SERVER_PORT), server.getProperty(SERVER_USER),server.getProperty(SERVER_PWD).toCharArray());
m = ctx.getClass().getMethod("connectController");
m.setAccessible(true);
m.invoke(ctx);
execute(ctx, "deploy " + earPath + projectName + ".ear");

我总是遇到这个错误:

"failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0"

1 个答案:

答案 0 :(得分:0)

wildfly-maven-plugin中有一个core实用程序,可用于以编程方式部署内容。这可能比反射更友好。