TomEE запускается, но Netbeans выдает ошибку Failed to start

Я использую 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 *» не распознается как внутренняя или внешняя команда» и то же самое, что и у меня. Предлагаемое решение состояло в том, чтобы выбрать «Без прокси» в «Инструменты-Параметры», но мне это не помогло.

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

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


person Mugi4ok    schedule 04.06.2015    source источник
comment
Предоставленный ответ решает правильно. Эта проблема аналогична описанной здесь: stackoverflow.com/a/38277506/744133 — этот ответ точно описывает, какие версии netbeans будет затронут.   -  person YoYo    schedule 20.07.2017


Ответы (6)


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

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" xpoweredBy="false"
           server="Apache TomEE" />
person Steve F.    schedule 05.06.2015
comment
Никогда раньше не видел этого решения, но это помогло, спасибо, @Steve! Кроме того, вы понятия не имеете, почему эти два атрибута так влияют на NetBeans. - person Mugi4ok; 06.06.2015
comment
Это было единственным решением для меня, чтобы устранить затянувшуюся ситуацию во время развертывания. К сожалению, я не получил точного объяснения этой ситуации. Но ваш обходной путь хорош. Спасибо :-) - person Miklos Krivan; 20.06.2015
comment
лол, это работает! хотелось бы, чтобы автор немного подробнее остановился на решении. - person andbi; 19.07.2015
comment
Кажется, достаточно удалить только атрибут server. Мне было достаточно решить проблему. xpoweredBy, похоже, не имеет отношения к проблеме. - person OndroMih; 11.09.2015
comment
Ну наконец то! Мне помогло удаление атрибута server! Я также удалил кавычки ", как указано в другом ответе, но без удаления сервера это не сработало. - person LyK; 11.09.2015
comment
Здорово. Спасибо. Это сделало это, потратив 2 часа, чтобы найти решение. - person Eymen; 06.11.2015
comment
Спасибо :) Это тоже помогло мне; У меня TomEE шлейф 1.7.4/NetBeans 8.0.1/Linux; Но можете ли вы дать более подробную информацию, почему server.xml нуждается в этой модификации в случае с NetBeans, потому что он отлично работает с моим Eclipse? - person user390525; 06.11.2019

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. и ТомЕЕ+ 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"/>

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

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

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

person Howard    schedule 11.06.2015
comment
Спасибо за ответ! Я считаю, что ваш метод может работать так же, как редактирование server.xml, я попробую это немного позже. Кроме того, давая вам воображаемый голос, потому что не может дать вам настоящий. - person Mugi4ok; 13.06.2015
comment
Рабочее решение, но я бы предложил вместо этого восстановить файл catalina.bat. Новая версия содержит кавычки в двух местах вокруг SET JAVA_OPTS, которые пересекаются со значением Netbeans nonProxyHost. В предыдущей версии не было кавычек. Смотрите мой подробный ответ ниже. - person Miklos Krivan; 20.06.2015
comment
Это сработало и в моем случае. Netbeans 8.0.2, Tomcat 7 - person nonabhai; 01.07.2019

Я бы проверил настройки прокси-сервера в netbeans в настройках, чтобы они были «Без прокси», а не «Использовать настройки прокси-сервера системы».

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

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

person Michael Stokes    schedule 29.10.2016
comment
Превосходный парень. Работал. Это должен быть принятый ответ. - person Suresh Atta; 08.10.2017

В 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.

person Guilherme    schedule 05.03.2017
comment
Странно, как это полная противоположность отмеченному ответу, но она решила мою проблему. В любом случае, спасибо. - person Adindu Stevens; 12.09.2019

Сегодня столкнулся с такой же ситуацией, когда хотел обновиться с 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, и мы используем настройку без ProxyHosts, и мы включили флажок «Использовать настройки прокси-сервера IDE» в настройке платформы сервера 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 рядах и проблема просто исчезнет и вам вообще не нужно устранять настройки прокси, вы можете использовать их как вам нужно. В этом случае также не нужно выключать переключатель настроек прокси. Если вы хотите полагаться на настройки прокси-сервера NetBeans, вы можете сделать это с помощью этой небольшой модификации.

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

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

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

person Miklos Krivan    schedule 20.06.2015
comment
Отличный анализ и ответ! Спасибо. - person Howard; 22.06.2015
comment
У меня та же проблема, но ни одно из упомянутых решений не сработало: / Если это делает какие-либо различия, я нахожусь в OS X - person LyK; 11.09.2015

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

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

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

person diego matos - keke    schedule 26.01.2016
comment
Для меня это решение было эффективным для tomcat 7,8 - person user3600935; 24.10.2018