【发布时间】:2018-04-05 12:55:07
【问题描述】:
尝试使用 CDI 2.0 设置一个 maven Web 项目,该项目应该在 Tomcat 8.5 上运行。所以我必须安装jboss WELD 3。
What is the relation between Weld, CDI and Java EE versions?
使用 POM 声明(仅“weld-servlet-core”)...
WELD - POM declaration (docs.jboss.org)
我在 web.xml 中声明的“WeldTerminalListener”出现错误,如下所示:
<!-- This listener should always be the last registered listener -->
<listener>
<listener-class>org.jboss.weld.servlet.WeldTerminalListener</listener-class>
</listener>
错误:java.lang.ClassNotFoundException:org.jboss.weld.servlet.WeldTerminalListener
如果我使用以下 POM 声明,它可以正常工作:
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
<version>2.3.5.Final</version>
</dependency>
weld-servlet(没有“-core”)3 仅作为 alpha 版本提供。版本 2 不支持 CDI 2.0。
那么我需要 POM 中的哪个依赖项才能使其运行?
【问题讨论】: