无法在 JBoss EAP 6.4 环境中使用 wildfly-maven-plugin 2.0.1 进行部署

Posted

技术标签:

【中文标题】无法在 JBoss EAP 6.4 环境中使用 wildfly-maven-plugin 2.0.1 进行部署【英文标题】:Unable to deploy using wildfly-maven-plugin 2.0.1 in JBoss EAP 6.4 environment 【发布时间】:2020-08-25 07:14:06 【问题描述】:

尝试使用 wildfly-maven-plugin 2.0.1 在 JBoss EAP 6.4 环境中部署时出现以下错误。在将本机端口从默认 (9999) 更改为任何其他端口时,它失败并出现以下错误。 java.net.ConnectException:WFLYPRT0053:无法连接到远程+http://localhost:9993。连接失败:无效响应

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>2.0.1.Final</version>
    <configuration>
        <hostname>$wild.hostname</hostname>
        <port>$wild.port</port>
        <username>$wild.username</username>
        <password>$wild.password</password>
        <name>$wild.name</name>
        <timeout>60000</timeout>
        <server-groups>$wild.servergroups</server-groups>
    </configuration>
</plugin>

【问题讨论】:

你是否覆盖了服务器上和maven配置中的端口? 是的.. 将默认本地端口从 9999 更改为 9993。它适用于 9999。 maven 配置是什么样的?从错误消息看来,端口没有被覆盖。 Maven 配置也需要被覆盖?你能分享一些样本吗? wildfly:undeploy 和 wildfly:deploy 用于取消部署和部署。参考:docs.jboss.org/wildfly/plugins/maven/latest 【参考方案1】:

看起来有一些特殊的代码在使用端口 9999 时会自动覆盖协议。由于您更改了端口,因此您还需要覆盖协议。您可以从命令行使用-Dwildfly.protocol=remoting

对于您的配置,您只需添加&lt;protocol&gt;remoting&lt;/protocol&gt;

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>2.0.1.Final</version>
    <configuration>
        <hostname>$wild.hostname</hostname>
        <port>$wild.port</port>
        <username>$wild.username</username>
        <password>$wild.password</password>
        <name>$wild.name</name>
        <timeout>60000</timeout>
        <protocol>remoting</protocol>
        <server-groups>$wild.servergroups</server-groups>
    </configuration>
</plugin>

【讨论】:

Hey James.. 谢谢 :) 添加远程处理标签后,初始问题得到解决并得到一个新问题。 javax.security.sasl.SaslException:身份验证失败:所有可用的身份验证机制都失败:DIGEST-MD5:javax.security.sasl.SaslException:ELY05053:回调处理程序因未知原因失败[由java.lang.IllegalStateException引起:环境不有一个可用的控制台。无法提示输入用户名和密码] 请对此提供任何帮助。 您定义了wild.usernamewildf.password 吗?如果为空,它将尝试使用控制台提示输入用户名和密码。 wild.hostname、wild.port、wild.username 和 wild.password 已定义。连接失败:身份验证失败:所有可用的身份验证机制都失败:[错误] DIGEST-MD5:javax.security.sasl.SaslException:ELY05053:回调处理程序因未知原因失败[由java.lang.IllegalStateException引起:环境没有一个可用的控制台。无法提示输入用户名和密码] 当我测试它时,它在定义时工作。如果它们是空的,我会在控制台上收到提示输入文本。

以上是关于无法在 JBoss EAP 6.4 环境中使用 wildfly-maven-plugin 2.0.1 进行部署的主要内容,如果未能解决你的问题,请参考以下文章

JBOSS EAP 6.4:无法在生成的 WSDL 中的“soap:address”中使用 HTTPS 模式

JBOSS EAP 6.4 无法加载拓扑

Jboss EAP 6.4 无法在模块中定义类 org.springframework.web.servlet.DispatcherServlet

JBoss EAP 6.4 Infinispan 集群缓存网络问题

在 Eclipse Luna 中配置 jboss-eap-6.4 服务器时分配正确的主目录时出错

Jboss (6.4 EAP) 到 WebSphere (7.x)