Почему среда выполнения Java EE требуется для интерпретации / синтаксического анализа / компиляции любого кода?

#java #eclipse #jakarta-ee #glassfish

#java #eclipse #джакарта-ee #glassfish

Вопрос:

Я импортировал в eclipse проект EAR, который я написал в другой системе, поэтому у меня был код до того, как я полностью настроил серверную среду GlassFish и некоторые другие конфигурационные файлы.

Я заметил, что, хотя у меня были JDK и JRE, интегрированные с моей средой Eclipse, она не распознала никаких библиотечных файлов, таких как javax . Это препятствовало какой-либо отладке, пока я не закончил установку среды выполнения, которой для меня была GlassFish 3.1.

Я не понимаю, что содержит вся среда выполнения, потому что я думал, что библиотеки, необходимые для интерпретации моего кода в IDE, находятся в веб-инструментах JDK и WPT, которые я установил, а не на сервере GlassFish, о котором я думаю как о «просто контейнере и сервере Java EE».

Ответ №1:

Java SE не включает библиотеки Java EE.

Однако в Java SE есть пакеты, отличные от Java EE javax.* .

Комментарии:

1. Спасибо, и по смежному вопросу можете ли вы установить эти библиотеки без необходимости устанавливать glassfish. Это похоже на то, что могло бы прийти в голову разработчикам, которые пишут код без обязательного развертывания на сервере немедленно или локально. Я прав?

2. Вы можете добавить API jars в свой проект. Выслеживать их немного громоздко.

3. Все, что вам нужно, — это API, а не фактическая реализация. Тем не менее, у большинства разработчиков JEE есть по крайней мере веб-сервер, установленный локально, если не сервер приложений.

4. странно, я думаю, вы могли бы запрограммировать некоторые EJB как POJO, не аннотируя их как сеансовые компоненты, и не имело бы смысла когда-либо создавать сервлет вне настройки, где вы могли бы выполнять вызовы HttpRequest, то же самое с программированием базы данных. Они просто слишком взаимосвязаны.

5. @user988231 Вот что я имею в виду — у большинства всех будет среда, в которой можно запускать свой код, но вам не нужна среда выполнения для компиляции.