WELD-001408 & ValidationInterceptor & Glassfish 4.0x & EAR & CODi не может быть развернут?
Я перевожу наше приложение JSF/Primefaces 3.5.x GF 3.1.1 на GF 4.0. Это EAR с войной, EJB-флягой и флягой, полной фляг.
WAR имеет WEB-INF/lib имеет:
org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-api: 1.0.5, org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-impl: 1.0.5 ",
'org.apache.myfaces.extensions.cdi.modules: myfaces-extcdi-jsf20-module-api:1.0.5',
'org.apache.myfaces.extensions.cdi.modules: myfaces-extcdi-jsf20-module-impl:1.0.5',
в дополнение к PF-материалам и Omnifaces и некоторым другим зависимостям (сообщения codi также включают api & impl - должно быть транзитивным dep). ПРИМЕЧАНИЕ: в WAR нет материалов для проверки CODi, а также нет спящих банок.
В EAR Lib также есть куча jar-файлов - он не дублирует содержимое CODi и пропускает PF, он включает в себя некоторые элементы скорости и скорости, Apache Commons и некоторые другие вещи - СНОВА, нет CODi-валидатора или гибернации.
При развертывании я получаю:
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Validator] with qualifiers [@Default] at injection point [[UnbackedAnnotatedField] @Inject private org.hibernate.validator.internal.cdi.interceptor.ValidationInterceptor.validator]
Я видел 2 других сообщения SO, связанных с этим:
WELD-001408 Неудовлетворенные зависимости для типа [Validator]
&
CDI / Weld Неудовлетворенные зависимости
Ни один из них не проливает свет на то, что оба предполагают, что за этим стоит валидатор CODI - но у меня его просто нет в моем подразделении (или EAR).
Есть ли способ обойти это?
Переключение на DeltaSpike (и / или OS890 codi DS combo) не является немедленным вариантом; также не использует ee7. Мне нужно попытаться заставить это работать с как можно меньшим количеством изменений кода.
Есть идеи?
2 ответа
Они просто написали в Твиттере, что последний снимок можно использовать с EE7. Я полагаю, что никто не сообщил о проблеме обратно (по крайней мере, я не видел JIRA-билет до сегодняшнего дня).
Я нашел следующее решение:
В "myfaces-extcdi-jsf20-module-impl-1.0.5.jar" полностью удалите пакет "org.apache.myfaces.extensions.cdi.jsf.impl.bv".
Ничего идеального, но у меня пока работает...