Как зарегистрироваться и запустить Glassfish 7.0.9 из NetBeans 19 IDE

Я выполнил новую установку JDK 21 с установленной IDE Netbeans 19.java --versionдает результатjava 21 2023-09-19 LTS Java(TM) SE Runtime Environment (build 21+35-LTS-2513) Java HotSpot(TM) 64-Bit Server VM (build 21+35-LTS-2513, mixed mode, sharing) Затем я запустил netbeans и создал новый проект> серверы нажал «Добавить сервер»> затем из списка я вижу только выбранную версию netbeans 7.0.6 в качестве последней версии. Но я уже загрузил Glassfish 7.0.9, и NetBeans может обнаружить ее из каталога Glassfish, поэтому я нажимаю «Далее», чтобы добавить. Проблема в том, что netbeans по-прежнему видит его как glassfish 7.0.6. Когда я пытаюсь запустить свой проект, я получаю сообщение об ошибкеCould not find Java SE Development Kit to start GlassFish Server,Но вglassfish/binкаталог, я могу запустить Glassfish с помощью команды./asadmin start-domain domain1

Как правильно зарегистрировать glassfish 7.0.9 в netbeans и поддерживается ли она вообще. Я также подтвердил, что платформа JDK добавлена ​​правильно, как показано на прикрепленном изображении.

Подводя итог, я попробовал все версии glassfish 7.xx в netbeans. Я загрузил отдельный экземпляр и попытался зарегистрировать его в NetBeans. Я понизил версию до netbeans 18 с помощью jdk 17 и выполнил те же действия, и сервер заработал.

1 ответ

TLDR:

Вы не можете запустить GlassFish 7.0.9 в NetBeans 19 при запуске JDK 21. Эта комбинация просто не поддерживается. Как вы обнаружили, последней версией GlassFish, которую поддерживает NetBeans 19, является GlassFish 7.0.6 при использовании JDK +21.

Решение:

Подождите следующего ежеквартального выпуска NetBeans, который почти наверняка будет поддерживать GlassFish 7.0.9 и JDK 21.

Дождитесь следующего ежеквартального выпуска NetBeans (NetBeans 20), который будет поддерживать GlassFish 7.0.9 и JDK 21. Отчет об ошибках NetBeans Добавление поддержки для GlassFish 7.0.7, 7.0.8 и 7.0.9 #6542 документирует это запланированное улучшение.

Обходной путь :

Как вы отметили, вы можете запускать GlassFish 7.0.9 вне NetBeans 19 и вручную развертывать свои приложения на сервере GlassFish через его консоль администратора. Это утомительно, но просто и может быть уместно, поскольку со времени GlassFish 7.0.6 было внесено немало исправлений и улучшений.

Объяснение :

Это даты выпуска программных продуктов, которые вы используете:

  • NetBeans 19 был выпущен 1 сентября 2023 года.
  • JDK 21 был выпущен 19 сентября 2023 года.
  • GlassFish 7.0.9 был выпущен 29 сентября 2023 года.

Это множество передовых технологий. Чтобы констатировать очевидное, нельзя ожидать, что NetBeans 19 будет предлагать официальную поддержку продуктов, выпущенных после даты его выпуска, поскольку эти продукты не могут быть полностью протестированы. Таким образом, NetBeans 19 формально не поддерживает JDK 21 или GlassFish 7.0.9. Из примечаний к выпуску NetBeans 19:

Двоичные выпуски Apache NetBeans 19 требуют JDK 11+ и официально поддерживают работу на JDK 11, 17 и 20 .

Аналогично, GlassFish 7.0.9 официально не поддерживается в JDK 21, и в примечаниях к выпуску прямо указано, что:

Этот выпуск подготавливает GlassFish к предстоящему JDK 21; он компилирует и проходит все внутренние тесты с использованием OpenJDK 21ea35. Несколько TCK также перешли на JDK 21, но TCK в целом еще не совместим с JDK 21.

Таким образом, даже если NetBeans 19 поддерживает GlassFish 7.0.9, сам GlassFish может не работать и определенно не будет поддерживаться при использовании JDK 21.

Примечания:

  • В файле readme для GlassFish 7.0.6 указано: «Для Eclipse GlassFish 7.0.9 требуется JDK 11 или новее». . Основываясь на собственных примечаниях к выпуску, я считаю, что это вводит в заблуждение/неправильно, и вместо этого следует указать : «Eclipse GlassFish 7.0.9 требует JDK между JDK 11 и JDK 20». .
  • Существует различие между неподдерживаемыми выпусками программного обеспечения и неразрешенными выпусками программного обеспечения. Например, NetBeans 19 формально не поддерживает JDK 21, но вы все равно можете использовать его на свой страх и риск. Напротив, NetBeans 19 явно запрещает использование любой версии GlassFish > 7.0.6, а документация GlassFish 7.0.9 явно запрещает использование JDK 21.
Другие вопросы по тегам