Исключение при использовании CDI сварки с Jetty: Singleton не установлен для STATIC_INSTANCE

Я пытаюсь настроить Jetty с помощью JSF и Weld CDI. Следуя этому руководству, Я натыкаюсь на следующую трассировку стека:

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

Кто-нибудь видит, что здесь происходит не так?


person Jan-Willem Gmelig Meyling    schedule 22.03.2016    source источник
comment
Вы не возражали против файла /WEB-INF/beans.xml?   -  person BalusC    schedule 23.03.2016
comment
Это мой WEB-INF/beans.xml: ‹?xml version=1.0 encoding=UTF-8?› ‹beans xmlns=xmlns.jcp.org/xml/ns/javaee xmlns:xsi=w3.org/2001/XMLSchema-instance xsi:schemaLocation= xmlns. jcp.org/xml/ns/javaee xmlns.jcp.org /xml/ns/javaee/beans_1_1.xsd bean-discovery-mode=all› ‹/beans›   -  person Jan-Willem Gmelig Meyling    schedule 23.03.2016
comment
Проблема предполагает, что BeanManager не может быть найден. Какая версия Джетти? 9.2.4+ обеспечивает более простой способ настройки: eclipse.org/jetty /documentation/current/framework-weld.html   -  person BalusC    schedule 23.03.2016
comment
См. мои номера версий и другую конфигурацию в следующем списке: gist.github.com/JWGmeligMeyling/529250b4387c4b6103aa . Я стараюсь быть на самой новой версии.   -  person Jan-Willem Gmelig Meyling    schedule 23.03.2016
comment
@ Jan-WillemGmeligMeyling, ты решил свою проблему?   -  person Dherik    schedule 16.08.2017
comment
Нет, я перешел с контейнера сервлетов (Jetty) на сервер J2EE (Wildfly).   -  person Jan-Willem Gmelig Meyling    schedule 13.10.2017


Ответы (2)


Эта ошибка появляется, если вы забыли файл beans.xml или, как в моем случае, поместили его не туда. Ваш beans.xml может иметь только корневой элемент, но должен существовать.

Для проекта Maven помните следующее:

  • context.xml должен оставаться в src/main/webapp/META-INF/
  • beans.xml должен остаться в src/main/resources/META-INF/

У меня возникла эта проблема, когда я перенес приложение, разработанное с использованием Glassfish (которому не нужны эти файлы), на Tomcat 7.

person xonya    schedule 18.05.2016

Проблема в том, что вы используете как weld-servlet, так и weld-servlet-core в своем pom. Это приводит к дублированию записей класса, поскольку Weld-Servlet является агрегатом Weld-Servlet-Core. Удаление зависимости Weld-Servlet-Core устранило ошибку singleton not set.

Теперь, когда я это сделал, я получил ошибки о JSF, но это могут быть другие проблемы с конфигурацией.

person John Ament    schedule 23.03.2016
comment
Я дошел до этого момента, потому что мне нужен был org.omnifaces.resourcehandler.CombinedResourceHandler для Bootsfaces, поэтому я начал добавлять Omnifaces. Потом оказалось, что мне нужен CDI, поэтому я добавил сварку. Сейчас я пытаюсь найти подходящие версии для сварки, jsf и т. д. и т. д. поэтому я могу заставить конфигурацию работать в моем тестировщике, плагине jetty-maven. Я на самом деле начинаю верить, что такой конфигурации просто не существует, поскольку я продолжаю сталкиваться с другими исключениями. Не могли бы вы взглянуть на другие проблемы конфигурации? - person Jan-Willem Gmelig Meyling; 23.03.2016
comment
См. также stackoverflow.com/questions/27666681/ и github.com/skaterkamp/streichelzoo-faces/blob/master/ - person Jan-Willem Gmelig Meyling; 23.03.2016