Сбой запуска Tomcat из Netbeans

У меня проблема с запуском Apache Tomcat 6 из NetBeans IDE 7.4 (в версии 7.3 у меня были те же проблемы. Другие люди упоминали, что эта проблема существует и в других версиях, таких как 8.0 и т. д.).

Что я сделал:

  • удалить установленный Tomcat 7 (не удаляя его, у меня были те же трудности)
  • добавить новый сервер, загруженный с веб-сайта Apache Tomcat (версия apache-tomcat-6.0.39, с другой версией у меня были те же проблемы)
  • мое расположение сервера: D:apache-tomcat-netbeans
  • системная переменная CATALINA_HOME: D:apache-tomcat-netbeans
  • системная переменная JAVA HOME: C:Program файлыJavajdk1.7.0_51
  • пользователь tomcat: я позволяю netbeans создавать нового пользователя, называемого tomcat с паролем tomcat. Когда я открываю {tomcat}conftomcat-пользователи.xml-файл после добавления сервера есть информация о моем пользователе:

когда я теперь нажимаю "пуск", я получаю" запуск Tomcat не удалось".

мои подозрения:

  • Я работаю на Windows 7 в качестве администратора, поэтому я думаю, что это не проблема с правами на файлы.
  • отключение прокси-не помогает.
  • Logs: создан только один файл журнала: localhost.2014-03-06.журнал, и он полностью пуст.
  • запуск Netbeans " как администратор " не помог.
  • из командной строки Все нормально, у меня нет проблем с запуском в обычном или отладочном режиме (Каталина.bat jpda start или Автозагрузка.летучая мышь!--39-->)

5 ответов


это влияет, по крайней мере, на NetBeans версии 7.4-8.0.2. Впервые это было сообщено из версии 8.0 и исправлено в NetBeans 8.1. У него была бы проблема для любой версии tomcat (подтверждено для версий 7.0.56 через 8.0.28).

специфика описывается как ошибка Netbeans #248182.

эта проблема также связана с проводками, в которых упоминается следующий вывод ошибок:

'127.0.0.1*' не распознается как внутренней или внешней командой, исполняемой программой или пакетным файлом.

для tomcat, установленного из zip-файла, я исправил его, изменив catalina.bat файл в tomcat .

найдите конфигурацию bellow в вашем catalina.bat.

:noJuliConfig
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"

:noJuliManager
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%"

и измените его, как показано ниже, на удаление двойных кавычек:

:noJuliConfig
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%

:noJuliManager
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%

теперь сохраните изменения и запустите tomcat из NetBeans.


это влияет на:

  • все версии Tomcat начиная с 8.5.3 и далее.
  • все версии Netbeans до 8.1 (это исправлено в Netbeans 8.2).

Это потому, что Netbeans не "видит", что tomcat запущен, хотя он начался просто отлично.

Я подал ошибка #262749 с NetBeans.

решение

на , в Connector элемент для HTTP / 1.1, добавьте следующий атрибут: server="Apache-Coyote/1.1".

пример:

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

причина

причиной этого является то, что до 8.5.3 по умолчанию был установлен заголовок сервера как Apache-Coyote/1.1, в то время как с 8.5.3 это значение по умолчанию теперь было изменено на пустое. По-видимому, Netbeans проверяет этот заголовок.

возможно, в будущем мы можем ожидать исправления в netbeans для решения этой проблемы.

я смог отследить его до изменения в документация.

Tomcat 8.5:

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

Tomcat 8.0:

"переопределяет заголовок сервера ответ http. Если задано значение для этого атрибута переопределяется значение Tomcat по умолчанию и любой заголовок сервера устанавливается веб-приложением. Если не установлено, любое значение, указанное используется приложение. Если приложение не указывает значение, то Использовали Apache-Койот/1.1 является. Если вы не параноик, вам не понадобится эта особенность."

Это объясняет необходимость явного добавления атрибута Server, начиная с версии 8.5.3.


также, очень вероятно, что проблема с настройками прокси.

любой, кто не преодолел Tomact starting problrem, - попробуйте в NetBeans выбрать Нет Доверенности на вкладке Инструменты -> Параметры -> общие.

Это помогло мне.


для NetBeans, чтобы иметь возможность взаимодействовать с tomcat, ему нужно, чтобы пользователь как настройка в netbeans был правильно настроен в . NetBeans может сделать это автоматически.

, то есть в пределах tomcat-users.xml, который вы можете найти в ${CATALINA_HOME}/conf или ${CATALINA_BASE}/conf,

  1. убедитесь, что пользователь (выбранный в netbeans) добавлен script-manager роль

изменить

<user password="tomcat" roles="manager,admin" username="tomcat"/>

до

<user password="tomcat" roles="manager-script,manager,admin" username="tomcat"/>
  1. сделать конечно, что manager-script роль объявляется

добавить

<role rolename="manager-script"/>

на самом деле netbeans online-help неправильно заявляет:

Username-указывает имя пользователя, которое IDE использует для входа в приложение диспетчера сервера. пользователь должен быть связан с ролью Manager. При первом запуске IDE веб-сервер Tomcat, например через действие меню пуск / остановка или путем выполнения веб-компонента из IDE, IDE добавляет пользователя-администратора со случайным паролем в . (Щелкните правой кнопкой мыши узел экземпляра веб-сервера Tomcat в окне Службы и выберите Свойства. В диалоговом окне Свойства свойство базового каталога указывает на .) Запись пользователя admin tomcat-users.xml файл выглядит следующим образом:<user username="idea" password="woiehh" roles="manager"/>

роль должна быть manager-script, а не manager.

для более полного tomcat-users.xml файл:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager-script"/>
  <role rolename="manager-gui"/>
  <user password="tomcat" roles="manager-script" username="tomcat"/>
  <user password="pass" roles="manager-gui" username="me"/>
</tomcat-users>

есть еще одна хорошая публикация на почему я получаю ошибку развертывания?


У меня была такая же проблема, но ни один из ответов не работал. Решением для меня было восстановить менеджер веб-приложения это в комплекте с Tomcat.