Wildfly30部署war包报错:缺失jboss.undertow.server.default-server."itcmedbr.com"服务
解决Wildfly 30部署WAR时WFLYCTL0412服务缺失问题
问题根源
报错里的jboss.undertow.server.default-server."itcmedbr.com"指的是Undertow默认服务器(default-server)下名为itcmedbr.com的**主机(host)**服务,并非需要新建一个server节点。你的WAR包大概率在web.xml或jboss-web.xml中指定了该主机名绑定,导致Wildfly找不到对应的主机配置。
具体修复步骤
编辑standalone.xml配置文件
找到<subsystem xmlns="urn:jboss:domain:undertow:23.0">节点,定位到<server name="default-server">部分,二选一配置主机:<server name="default-server"> <http-listener name="default" socket-binding="http" redirect-socket="https"/> <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm"/> <!-- 方案1:新建itcmedbr.com主机,指定默认Web模块为你的WAR包 --> <host name="itcmedbr.com" alias="itcmedbr.com" default-web-module="你的WAR包名称.war"> <location name="/" handler="welcome-content"/> <filter-ref name="server-header"/> <filter-ref name="x-powered-by-header"/> </host> <!-- 方案2:给现有默认主机添加itcmedbr.com别名 --> <!-- <host name="default-host" alias="localhost, itcmedbr.com"> --> </server>检查WAR包绑定配置
查看WAR包内WEB-INF/jboss-web.xml或WEB-INF/web.xml,确认是否存在主机绑定配置:<!-- jboss-web.xml示例 --> <jboss-web> <virtual-host>itcmedbr.com</virtual-host> </jboss-web>若存在该配置,确保Wildfly中对应主机已配置;若无需绑定特定主机,可直接删除该配置,让WAR包使用默认主机。
重启Wildfly生效配置
修改配置后重启服务:/opt/wildfly/bin/jboss-cli.sh --connect command=:shutdown /opt/wildfly/bin/standalone.sh验证主机配置
重启后通过JBoss CLI确认主机是否存在:/opt/wildfly/bin/jboss-cli.sh --connect /subsystem=undertow/server=default-server/host=itcmedbr.com:read-resource若返回正常资源信息,说明配置生效,此时重新部署WAR包即可。
常见误区
无需新建额外的server节点,Wildfly默认的default-server已满足需求,问题核心是主机(host)层面的配置缺失,而非服务器(server)本身。
内容的提问来源于stack exchange,提问作者Cezar Apulchro
相关产品推荐
相关产品推荐

