Ошибка при компиляции встроенного приложения Jetty: org.eclipse.jetty.server читает пакет jakarta.servlet как из jetty.servlet.api, так и из jakarta.servlet
Я создаю встроенное приложение Jetty с Maven. причал.версия: 11.0.13 сервлет-api.версия: 5.0.0.
Это многомодульный проект.
Один модуль maven с именем «utils» зависит от jakarta.servlet-api для компиляции (предоставляется объем). Для модуля Java требуется jakarta.servlet.
// утилиты pom.xml
Модуль maven «приложение» добавляет следующие зависимости и другие.
// pom.xml приложения
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
Одна из других явных зависимостей зависит от модуля maven «utils».
Java-модуль приложения содержит:
requires utils;
requires org.eclipse.jetty.http;
requires org.eclipse.jetty.server;
requires org.eclipse.jetty.servlet;
Когда я компилирую приложение, все модули зависимостей компилируются нормально, но я получаю эту ошибку при компиляции последнего модуля (приложения):
myapplication.BlaBla.java:[46,17] не может получить доступ к файлу класса jakarta.servlet.http.HttpServlet для jakarta.servlet.http.HttpServlet не найден
Если я добавлю следующую зависимость:
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${servlet-api.version}</version>
<scope>provided</scope>
</dependency>
и добавьте следующую строку в модуль моего приложения:
requires jakarta.servlet;
Мой редактор предупреждает:
Модуль «приложение» читает пакет «jakarta.servlet» как из «jetty.servlet.api», так и из «jakarta.servlet».
И сборка явно не работает со многими сообщениями об ошибках, такими как:
[ОШИБКА] модуль org.eclipse.jetty.server читает пакет jakarta.servlet как из jetty.servlet.api, так и из jakarta.servlet [ОШИБКА] модуль org.eclipse.jetty.server читает пакет jakarta.servlet.http из обоих jetty.servlet Модуль .api и jakarta.servlet [ОШИБКА] org.eclipse.jetty.server читает пакет jakarta.servlet.descriptor как из jetty.servlet.api, так и из модуля jakarta.servlet [ОШИБКА] org.eclipse.jetty.server читает пакет jakarta. servlet.annotation как из jetty.servlet.api, так и из jakarta.servlet [ ...
Если я посмотрю на jar-файл jetty.servlet.api, то не увижу пакета с именем jakarta.servlet.
Я заметил, что «jetty-jakarta-servlet-api-5.0.2.jar» содержит классы jakarta.servlet, но я не знаю, использовать ли это в процессе сборки.
Помощь?