У меня есть военный проект A, который я развертываю в JBoss AS7, который использует CDI, и все работает нормально. Но я хочу использовать некоторые классы в другом проекте B, который я добавил в свой pom.xml и включил разрешение рабочей области, потому что эти классы будут разделены несколькими военными проектами.M2E Eclipse Maven Разрешение рабочей области и CDI
Теперь эти классы работают отлично, если они находятся в военном проекте A, но когда я перемещаю их в B, CDI на них перестает работать. В другом проекте B есть webapp/WEB-INF/beans.xml, но, глядя на развернутую войну A, проект B представлен как баннер, содержащий только файлы классов, no beans.xml. CDI не будет работать, несмотря ни на что.
Единственным решением для получения beans.xml, включенного в B, является установка Bs-упаковки на войну, после чего она не упакована, а развертывается как каталог (называемый банком), что приводит к сбою JBoss, и который включает все библиотеки A и B во второй раз.
Я немного потерял - я действительно ограничен использованием одного проекта монстров, если я хочу использовать CDI в этой ситуации?
Чтобы использовать B как банку и сообщить об этом в главном военном случае, вы должны поместить файлы конфигурации в путь к объекту проекта, это означает папку META-INF. –
Как я уже писал, я уже использую B как банку. Это не проблема, проблема в том, что CDI не работает на классах, импортированных из jar, у которого нет beans.xml, и что я не могу его экспортировать с beans.xml – Torque
Поместите свой beans.xml файл в папку */src/main/resources *. Затем постройте его как банку. –