У меня проблемы с использованием внедрения зависимостей (с CDI / Weld) в библиотеках, используемых в войне при развертывании на Glassfish 3.1.У меня есть две библиотеки, скажем:
WEB-INF/lib/library1.jar
WEB-INF/lib/library2.jar
library1 содержит открытый класс, скажем, «InjectMe».Library2 содержит другой общедоступный класс, скажем, «InjectionTarget» с сайтом внедрения, например «@Inject public InjectMe injectMe;».
Сбой развертывания:
WELD-001408 Unsatisfied dependencies for type [InjectMe] with qualifiers [@Default] at injection point [[field] @Inject packagename.InjectionTarget.injectionSite].
Оба архива являются действительными архивами CDI с META-INF / beans.xml.
Я обновил weld-osgi-bundle.jar в Glassfish 3.1 и до сих пор вижу проблему.
Если я вручную распаковываю library1 и library2, помещая их классы непосредственно в WEB-INF / classes, развертывание завершается успешно и внедрение работает как положено.
Это быстро сводит меня с ума.Я нахожусь на грани реструктуризации своих модулей так, чтобы подпакеты jar были распакованы с плагином maven-dependency-plugin и заархивированы как объединенный jar, от которого я затем зависел от моей войны.Хотя это довольно ужасно.
Идеи?Разве это не должно "просто работать"?