我正在尝试使用JSF和Weld CDI配置Jetty。按照this手册后,我偶然发现了以下堆栈跟踪:
10 20 30 40 50 60 70 80 90
11 21 31 41 51 61 71 81 91
12 22 32 42 52 62 72 82 92
13 23 33 43 53 63 73 83 93
14 24 34 44 54 64 74 84 94
15 25 35 45 55 65 75 85 95
16 26 36 46 56 66 76 86 96
17 27 37 47 57 67 77 87 97
18 28 38 48 58 68 78 88 98
19 29 39 49 59 69 79 89 99
有人看到这里出了什么问题吗?
答案 0 :(得分:5)
如果您忘记 beans.xml 文件,或者在我的情况下,您将其放在错误的位置,则会出现此错误。您的beans.xml只能包含根元素,但必须存在。
对于 Maven 项目,请记住:
context.xml
请留在src/main/webapp/META-INF/
beans.xml
应留在src/main/resources/META-INF/
当我将使用Glassfish开发的应用程序(不需要这些文件)移动到Tomcat 7时,我遇到了这个问题。
答案 1 :(得分:1)
问题是您在pom中同时使用weld-servlet
和weld-servlet-core
。这导致重复的类条目,因为weld-servlet是weld-servlet-core的集合。删除weld-servlet-core依赖项修复了单例未设置错误。
现在,当我这样做时,我收到了有关JSF的错误,但这可能是其他配置问题。