Weld, Tomcat: в META-INF отсутствуют «бобы. xml» - PullRequest
0 голосов
/ 03 апреля 2020

Я знаю, что многие подобные вопросы уже задавались (например, это , это и т. Д. c.), Но ни один из них не мог мне помочь, поэтому я решил поднимите его снова - боролись в течение нескольких часов, и у меня действительно закончились идеи.

У меня есть проект Java EE, в котором простой сервлет, принимающий данные из формы HTML, выполняет несколько запросов во внешних сервисах (с REST и JAX-RS) и возвращает результаты. Теперь моя цель - развернуть его на автономном сервере Tomcat. Я пытаюсь добиться этого, экспортируя артефакт WAR и копируя его в каталог webapps Tomcat.

Он работает до момента отправки запроса REST с JAX-RS - затем Я всегда получаю сообщение об ошибке:

WELD-ENV-000016: Missing beans.xml file in META-INF

Я вообще не использую этот файл, но, как я читаю, он должен быть там, даже если он пуст ... так что я мы пытались поместить его в любое место, о котором я мог подумать / прочитать, в том числе:

/web/META-INF
/web/WEB-INF
/src/main/webapp/META-INF
/src/main/webapp/WEB-INF
/src/main/resources/META-INF
/src/main/resources/WEB-INF

Когда я проверяю выходной файл .war или каталоги, созданные Tomcat после развертывания, beans. xml присутствует как в каталогах META-INF, так и в каталогах WEB-INF.

Инициализация Weld и выполнение этих запросов хорошо работает в модульных тестах в Intellij IDE - единственным требованием здесь было пометить каталог, содержащий WEB-INF. и META-INF как «Ресурсы Root».

В моей конфигурации фасетов я отмечаю каталог, содержащий WEB-INF и META-INF, как «Каталог веб-ресурсов», а * «Веб-ресурсы фасета» включены в мой артефакт.

Любой идентификатор EAS? Я что-то в корне неправильно понимаю, требует ли эта внутренняя сварка другого, отдельного META-INF или чего-то еще?

1 Ответ

0 голосов
/ 04 апреля 2020

Поскольку никто не ответил, я хотя бы поделюсь своим выводом - самый простой способ - перейти на TomEE (если это приемлемо).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...