You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WildFly 11部署Vaadin CDI WAR包时出现Servlet部署错误

解决WildFly 11部署Vaadin CDI WAR包的启动失败问题

嘿,我之前也碰到过类似的WildFly部署Vaadin CDI项目的坑,看你给出的错误是Undertow部署服务启动失败,大概率是类加载或者兼容性的问题,给你整理几个针对性的排查和解决步骤:

1. 先确认版本兼容性

WildFly 11是基于Java EE 7的,你得确保用的Vaadin版本和它适配:

  • Vaadin 8.x系列是专门适配Java EE 7的,要是你用了Vaadin 10及以上的Flow版本,那肯定会出问题——因为Vaadin 10+依赖Java EE 8的特性,WildFly 11压根不支持。
  • 去你的pom.xml(Maven项目)或者build.gradle里看看Vaadin的版本,换成8.14.x这类稳定的适配版本试试。

2. 检查CDI依赖的配置

Vaadin CDI的依赖很容易踩冲突的坑:

  • 首先得确保你引入了vaadin-cdi依赖,而且别搞混了依赖范围——WildFly自带CDI容器,所以像cdi-api这类Java EE规范的依赖,一定要设成provided,别打包进WAR里,不然会和WildFly自带的类冲突。
  • Maven依赖示例给你参考下:
    <!-- Vaadin CDI核心依赖 -->
    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-cdi</artifactId>
        <version>${vaadin.version}</version>
    </dependency>
    <!-- CDI API 设为provided,复用WildFly自带的 -->
    <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <scope>provided</scope>
    </dependency>
    
  • 可以用mvn dependency:tree命令拉一下依赖树,看看有没有重复引入的CDI、Servlet相关依赖,有的话用<exclusions>把多余的排除掉。

3. 排查WAR包里的重复类

你给出的错误截断了,但开头是java.lang.Class...,十有八九是重复类加载的问题:

  • 把你的WAR包解压开,看看WEB-INF/lib下面有没有WildFly已经自带的Jar包,比如cdi-api.jar、javax.servlet-api.jar这些,要是有,说明你把应该设为provided的依赖打包进去了,赶紧调整依赖范围。

4. 验证WildFly的CDI配置

虽然WildFly 11默认是开启CDI的,但也有可能配置被改了:

  • 打开WildFly的standalone/configuration/standalone.xml,找一下<subsystem>节点,看看有没有这行:
    <subsystem xmlns="urn:jboss:domain:cdi:2.0"/>
    
    要是没有,加上它重启WildFly试试。

5. 找到完整的错误栈是关键

你提供的错误信息被截断了,java.lang.Class...后面肯定有具体的异常,比如ClassNotFoundException(找不到类)、NoClassDefFoundError(类依赖缺失)或者ClassCastException(类冲突导致类型转换错误),这些具体信息能直接定位问题:

  • 去Eclipse的控制台或者WildFly的standalone/log/server.log里找完整的错误日志,比如如果是找不到com.vaadin.cdi.VaadinCDIExtension,那就是你没加vaadin-cdi依赖;如果是类冲突,那就是重复打包了依赖。

6. 清理缓存,重新构建

有时候旧缓存会搞事情:

  • 在Eclipse里右键项目,选Clean...清理项目,然后重新构建。
  • 把WildFly的standalone/deployments下的相关部署文件删掉,再清空standalone/tmp和standalone/data里的缓存,重启WildFly后重新部署。

内容的提问来源于stack exchange,提问作者paoloo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:51:34