У меня есть код в одном банке (a.jar), который содержит файл @Inject X x
.
Я хочу выполнить инъекцию реализацией в другом jar (b.jar, являющемся действительным архивом bean-компонента и т. д.).
Насколько я понимаю, я не могу развернуть файлы a.jar и b.jar в отдельных автономных архивах WAR, поскольку они являются независимыми с точки зрения CDI. Возможно, я смогу поместить b.jar в папку lib, которую Glassfish предоставляет для всех развертываний (но является ли это «чистой Java 6 EE», и это означает, что я не могу развертывать так же, как войну или ухо?). Я мог бы предоставить b.jar в EAR, размещенном в lib вместе с a.war или a.jar, но я не знаком с этим.
У меня вопрос: какие у меня есть варианты развертывания a.jar и b.jar, чтобы Glassfish (в настоящее время 3.0.1, но я рассмотрю 3.1.1, если он будет работать лучше) правильно разрешал эту зависимость? Я ищу исчерпывающий список.
(EDIT: я бы предпочел решение, в котором b.jar можно развернуть независимо от a.jar)