Я пытаюсь перенести приложение JSF на CDI. Я implented следующих изменений:WELD-001409 Неоднозначные зависимости для типа [EagerBeansRepository]
- Добавлены пустой beans.xml файл WEB-INF
- Изменено @ManagedBean «s к @Named
- Изменены Всем области действия я должен КДИТЕ Скоупс (сессия, Просмотр, запрос)
- Изменены все @E и @ManagedProperty к @Inject
Однако ошибка Omnifaces препятствует развертыванию, как я получаю следующую ошибку в три раза:
org.jboss.weld.exceptions.DeploymentException: WELD-001409 Неоднозначные зависимости для типа [EagerBeansRepository] с классификаторами [@default] в точке инъекции [[BackedAnnotatedField] @Inject частного org.omnifaces.ApplicationListener.eagerBeansRepository]. Возможные зависимости [[Managed Bean [класс org.omnifaces.cdi.eager.EagerBeansRepository] с квалификаторами [@Any @Default], управляемый компонент [class org.omnifaces.cdi.eager.EagerBeansRepository] с квалификаторами [@Any @Default]] ]
Я перешел на Omnifaces 1.8.1, и развертывание было успешным. Почему Omnifaces 2.0 приводит к этой ошибке?
среда разработки:
- Glassfish 4
- Omnifaces 2.0
- JSF (Mojarra 2.2.0)
- WELD-000900 2.0.0 (SP1) для
Это исключение указывает на то, что OmniFaces JAR дублируется в пути к среде выполнения. Вы развертываете WAR или EAR? Где размещается OmniFaces JAR? Вы уверены, что рабочие папки GlassFish правильно очищены до развертывания? Кстати, пока вы на нем, я настоятельно рекомендую перейти на GlassFish 4.1. – BalusC
@BalusC Я очистил рабочую папку Glassfish и развернул ее без каких-либо ошибок. Благодарю. Любые статьи или ссылки о том, почему я должен перейти на GlassFish 4.1? – fareed
@BalusC Также вы можете поместить свой комментарий в качестве ответа, чтобы я принял его? Спасибо – fareed