【发布时间】:2015-06-04 22:11:51
【问题描述】:
我有三个 maven 项目:
- core (packagetype=JAR) 与 src/main/resources/beans.xml bean-discovery-mode="annotated"
- webfragment (packagetype=JAR) 与 src/main/resources/beans.xml bean-discovery-mode="annotated"
- webproject (packagetype=WAR) 与 src/main/webapp/WEB-INF/beans.xml bean-discovery-mode="annotated"
我的类路径中有 org.jboss.weld.servlet:weld-servlet 2.2.9.Final (CDI 1.2) 并使用 tomcat 7.0.55。此外,我使用 Servlet 3、Deltaspike 1.2.1、Mojarra 2.2.10。
所有我的 CDI bean 都有一个 bean 定义注释(请参阅 Meaning of bean discovery mode annotated in CDI 1.1)
Weld 警告我
servletWeldServlet [WARN] WELD-ENV-001004:同时找到 WEB-INF/beans.xml 和 WEB-INF/classes/META-INF/beans.xml。同时使用这两个位置并不便携。 Weld 将使用 jndi:/localhost/webproject/WEB-INF/beans.xml。
但一切都可以正常工作。
所以,我删除了所有 beans.xml,因为我不应该在 CDI 1.2 中需要它们,但之后就没有任何效果了:WELD-001408: Unsatisfied dependencies...
我错过了什么?这是网页碎片问题吗?
【问题讨论】:
标签: cdi jboss-weld web-fragment