В чем разница пакетов javax и jakarta?

Когда импортирую классы пакета jaсarta(когда создаю новый проект по умолчанию импортируются они), маппинг сервлета не работает и в браузере вылетает ошибка 404, а когда импортирую вместо них javax, работает.Подскажите пожалуйста в чем причина? Прикрепляю скрины: тут маппинг не работает

а тут работает

Project Structure


Ответы (1 шт):

Автор решения: Михаил Ребров

jakarta и javax

Ранее Java состояла из:

  • Java SE (Standart Edition)
  • Java EE (Enterprise Edition)

В последнем содержались наборы спецификаций и документация для языка Java, описывающей архитектуру серверной платформы для разработки Enterprise приложений.

Соответственно реализации Java EE содержали и пакет javax.
После поглащения Sun Microsystems корпорацией Oracle, последняя отказалась от поддержки Java EE.
Развитием и поддержкой последнего занялось сообщество с компании, использующие данные технологии.
Но так как Java является зарегистрированной торговой маркой - разработчикам, поддерживающим реализации Java EE, пришлось переименовать часть пакетов во избежания исков со стороны Oracle.
И jakarta - одна из реализаций Java EE

Вот и весь сказ.

  • Старые пакеты и реализации - javax.*
  • Новые - jakarta.*, etc

Что подключать

С одной стороны кажется что все одно и тоже и нет разницы что именно подключать.
Но то не так!
У Вас должен быть подключен пакет, который совместим с версией вашего сервера приложений.

логика та же

Старые версии сервера приложений - javax Новые - jakarta, etc

Чтобы не гадать - можете посмотреть зависимости сервера приложений и подключить ту же у себя в приложении.

(если приложите версию сервера приложений - могу предложить что именно подключать)

→ Ссылка