TomEE запускается, но Netbeans выдает ошибку "Не удалось запустить"

Я использую NetBeans 8.0.2 (также пробовал в последней ночной сборке) и пытаюсь запустить сервер TomEE Plume на порту 8084 (пробовал на другом порту тоже). Сервер запускается и работает нормально, но NetBeans считает, что он не запущен и примерно через 2 минуты ожидания ("Ожидание Tomcat") выдает окно с сообщением об ошибке "Не удалось запустить Tomcat" или что-то в этом роде.

Есть вопросы, похожие на мои, с той разницей, что у меня нет абсолютно никаких ошибок, только окно "Tomcat не удалось запустить", поэтому я даже не могу поместить журнал здесь, поскольку он не говорит ничего полезного. Кроме того, доступные решения не работают для меня.

Я считаю, что существуют некоторые проблемы со связью между NetBeans и TomEE, также я почти уверен, что проблема в NetBeans, потому что TomEE работает хорошо и запускается как надо, localhost:8084 дает мне страницу Tomcat, хотя NetBeans считает, что она не запустилась. Есть небольшой шанс, что по какой-то причине TomEE не отправляет подтверждение в NetBeans после запуска, но у меня действительно нет идей, как это проверить.

Я рассмотрел те же проблемы, две наиболее распространенные проблемы: "127.0.0.1*" не распознается как внутренняя или внешняя команда "и та же самая, что и у меня. Предложенное решение состояло в том, чтобы выбрать "Нет прокси" в Tools-Options, но это не помогло мне.

Кроме того, чтобы быть уверенным, я редактировал catalina.bat файл и проверил мои права пользователя, которые roles="admin-gui,manager-gui,admin,manager-script",

Я надеюсь, что кто-то сталкивался с той же проблемой. Кроме того, я хотел бы знать, разрешима ли эта проблема. Благодарю.

6 ответов

Решение

В файле server.xml удалите атрибуты xpoweredBy и server из соединителя:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" xpoweredBy="false"
           server="Apache TomEE" />

NetBeans 8.0.2 хорошо работал с TomEE+ 1.7.1, но затем я обновился с TomEE+ 1.7.1 до 1.7.2, добавил TomEE+ 1.7.2 в разделе " Сервисы" > " Серверы в NetBeans 8.0.2", и тогда я испытал "Сбой" "Ошибка запуска" при запуске последней и исправленной версии NetBeans 8.0.2 и TomEE+ 1.7.2.

В server.xml у меня было следующее:

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" connectionTimeout="20000" acceptorThreadCount="2"
           redirectPort="8443" socket.directBuffer="false"/>

Я попытался изменить Соединитель, но это не решило проблему.

Для меня было исправлено снятие флажка Использовать параметры прокси IDE на вкладке Платформа свойств сервера Apache TomEE+ 1.7.2. Увидеть ниже.

введите описание изображения здесь

Я бы проверил настройки прокси в netbeans в настройках "Нет прокси", а не "Использовать настройки системного прокси".

Работал на меня.

Источник: https://www.youtube.com/watch?v=uI1j-8F8eN4

В Tomcat 8.5.11 с Netbeans 8.1 мне пришлось изменить это:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000" 
           redirectPort="8443" />

за это:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000" xpoweredBy="false" server="Apache-Coyote/1.1"
           redirectPort="8443" />

В файле server.xml.

Сегодня я столкнулся с той же ситуацией, когда я хотел обновить TomEE 1.7.0 до 1.7.2 и основываясь на вопросе Mugi4ok и ответах Говарда и Стива (потому что все вы правы, но корень проблема остается в системе) Я провел более глубокий анализ упомянутой ситуации и, наконец, нашел ее корень.

В новом выпуске TomEE есть две разные проблемы (1.7.2)

  • Один из них возникает, когда вы запускаете сеанс отладки или запуска в NetBeans и сразу же получаете сообщение: данное имя (127.0.0.1*) не может быть распознано системой как команда...
  • Другой возникает в конце процесса развертывания, что создает долгосрочную ситуацию

Давайте посмотрим на первый случай. Поскольку он генерируется в самом начале процесса запуска / отладки, я сначала проверил скрипт catalina.bat, потому что он вызывается первым. Я сравнил обе версии от TomEE 1.7.0 и 1.7.2. И проблема была почти тривиальной.

TomEE изменил две строки в скрипте:

в 1.7.0 это было так:

set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%

но в 1.7.2 они заключают в кавычки:

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"

И это большое изменение, если переменная окружения JAVA_OPTS также содержит кавычки. И если использовать NetBeans, и мы используем установку nonProxyHosts, и мы включили флажок "Использовать настройки IDE Proxy" при настройке платформы сервера TomEE, у нас будет что-то подобное в JAVA_OPTS (я только что извлек соответствующее значение для нашего случая Конечно, у нас есть и много других параметров):

 -Dhttp.nonProxyHosts="localhost*|127.0.0.1*|10.*"

Если вы внимательно посмотрите на первую цитату и посмотрите на первый символ канала, вы уже знаете, что происходит:-)

Просто напишите эту команду в оболочку и попробуйте выполнить:

set "JAVA_OPTS=-Dhttp.nonProxyHosts="localhost*|127.0.0.1*|10*"

Первый символ конвейера будет действовать как есть, поэтому командная оболочка будет пытаться интерпретировать следующую строку как команду, но 127.0.0.1 * не является командой.

Поэтому мое предлагаемое решение - удалить лишние кавычки в новом выпуске, как это было в предыдущем выпуске. Они находятся в строках 179 и 184, и простая проблема исчезнет, ​​и вам вообще не нужно удалять настройки прокси-сервера, вы можете использовать их по мере необходимости. В этом случае вам также не нужно отключать переключатель настроек Proxy. Если вы хотите положиться на настройки прокси-сервера NetBeans, вы можете сделать это с помощью небольшой модификации.

Вторая ситуация, которая порождает тайм-аут при развертывании, была для меня чрезвычайно странной, и только ответ Стива помог мне, поэтому спасибо за это.

Резюме, если вы видите какие-то ошибки в новом выпуске любой системы с открытым исходным кодом, сначала проверьте модификацию и постарайтесь найти, какой из них шаг за шагом. В этом случае это решило все.

Я надеюсь, что TomEE также распознает это и исправит их в следующем выпуске, или они создадут патч для него.

Если у вас есть единственное сообщение "Не удалось запустить" при добавлении нового сервера в Netbeans 8.X -> Перейти к

Серверы> (выберите добавленный сервер) > Платформа> "Используемые настройки прокси-сервера ide"

Снимите флажок "используемые настройки прокси-сервера ide"

Другие вопросы по тегам