Jetty: сканирование аннотаций не работает в Интернете. xml - PullRequest
0 голосов
/ 06 августа 2020

У меня есть простой класс сервлета:

import javax.servlet.annotation.WebServlet

@WebServlet("/servlet")
class MyServlet extends HttpServlet { ... }

с module=annotations все отлично работает на Jetty 9.4 и 10.0.beta0, MyServlet обнаруживается автоматически со следующим сообщением журнала:

INFO: oeja.AnnotationConfiguration: main: Истекшее время сканирования аннотаций = 309 мс

Затем я добавляю пустой файл WEB-INF/web.xml:

<web-app>
</web-app>

и сканирование аннотаций не выполняется Это больше не происходит, без сообщения журнала запросы сервлета возвращают 404. Я также попытался добавить атрибут metadata-complete="false", но без разницы. Согласно Sevlet 4.0 spe c:

Если для параметра metadata-complete установлено значение «true», инструмент развертывания проверяет только веб-фрагмент. xml и должен игнорировать аннотации, такие как @WebServlet, @WebFilter и @WebListener, присутствующие в файлах классов фрагмента. Если метаданные не указаны или для него задано значение «false», инструмент развертывания должен проверить файлы классов на наличие метаданных.

сканирование аннотаций должно выполняться, если я явно не укажу metadata-complete="true" iiu c. У меня не было этой проблемы с Apache Tomcat. Это ошибка или я что-то упустил?

...