Jan*_*ing 8 jetty maven-jetty-plugin cdi weld
我正在尝试使用JSF和Weld CDI配置Jetty.按照本手册后,我偶然发现了以下堆栈跟踪:
Caused by: java.lang.IllegalStateException: Singleton not set for STATIC_INSTANCE => []
at org.jboss.weld.bootstrap.api.helpers.RegistrySingletonProvider$RegistrySingleton.get(RegistrySingletonProvider.java:28)
at org.jboss.weld.Container.instance(Container.java:55)
at org.jboss.weld.SimpleCDI.<init>(SimpleCDI.java:77)
at org.jboss.weld.environment.WeldProvider$EnvironmentCDI.<init>(WeldProvider.java:45)
at org.jboss.weld.environment.WeldProvider.getCDI(WeldProvider.java:61)
at javax.enterprise.inject.spi.CDI.current(CDI.java:60)
at org.jboss.weld.servlet.WeldInitialListener.contextInitialized(WeldInitialListener.java:94)
at org.jboss.weld.servlet.api.helpers.ForwardingServletListener.contextInitialized(ForwardingServletListener.java:34)
at org.jboss.weld.environment.servlet.EnhancedListener.onStartup(EnhancedListener.java:65)
at org.eclipse.jetty.plus.annotation.ContainerInitializer.callStartup(ContainerInitializer.java:140)
at org.eclipse.jetty.annotations.ServletContainerInitializersStarter.doStart(ServletContainerInitializersStarter.java:63)
... 50 more
Run Code Online (Sandbox Code Playgroud)
有人看到这里出了什么问题吗?
如果您忘记了beans.xml文件,或者在我的情况下,您将它放在错误的位置,则会出现此错误.您的beans.xml只能包含根元素,但必须存在.
对于Maven项目,请记住:
context.xml
请留下来 src/main/webapp/META-INF/
beans.xml
应留在 src/main/resources/META-INF/
当我将使用Glassfish开发的应用程序(不需要这些文件)移动到Tomcat 7时,我遇到了这个问题.
问题是你在 pom.xml 中同时使用了weld-servlet
和。weld-servlet-core
这会导致重复的类条目,因为weld-servlet 是weld-servlet-core 的聚合。删除weld-servlet-core 依赖项修复了单例未设置错误。
现在,当我这样做时,我收到了有关 JSF 的错误,但这可能是其他配置问题。
归档时间: |
|
查看次数: |
6343 次 |
最近记录: |