it-swarm.com.ru

Запуск 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 Files\Java\jdk1.7.0_51 \ 
  • Пользователь Tomcat: я позволил netbeans создать нового пользователя с именем Tomcat и паролем Tomcat. Когда я открываю файл {Tomcat}\conf\Tomcat-users.xml после добавления сервера, появляется информация о моем пользователе: 

    <user password = "Tomcat" role = "manager, admin" username = "Tomcat" />

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

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

  • Я работаю на Windows 7 в качестве администратора, поэтому я думаю, что это не проблема с правами доступа к файлам. 
  • Отключение прокси не помогло. 
  • Журналы: Создан только один файл журнала: localhost.2014-03-06.log, и он полностью пуст. 
  • Запуск NetBeans "как администратор" не помог.
  • Из командной строки все в порядке, у меня нет проблем с запуском в нормальном или отладочном режиме (catalina.bat jpda start или startup.bat)
55
liquide

Это влияет как минимум на версии 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 bin.

Найдите приведенную ниже конфигурацию в файле 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.

159
Sudeepta

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

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

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

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

Workaround

В файле server.xml в элементе 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. Если установлено, значение Для этого атрибута переопределяет любой заголовок сервера, установленный веб-приложением Если не установлено, используется любое значение, указанное приложением Если в приложении не указано значение, заголовок Server Не устанавливается. "

Tomcat 8.0 :

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

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

70
YoYo

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

Любой, кто не преодолел Tomact, запускающий проблерем, - попробуйте в NetBeans выбрать Без прокси в Сервис -> Параметры -> вкладка Общие.

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

15
Yan Pak

Чтобы NetBeans мог взаимодействовать с Tomcat, ему необходимо, чтобы пользователь правильно настроил параметры NetBeans в файле Tomcat-users.xml. 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 неверно утверждает:

Имя пользователя - указывает имя пользователя, которое IDE использует для входа в приложение менеджера сервера. Пользователь должен быть связан с ролью менеджера. При первом запуске IDE веб-сервера Tomcat, например, с помощью действия меню «Пуск/Стоп» или при выполнении веб-компонента из среды IDE, IDE добавляет пользователя-администратора со случайно сгенерированным паролем. в файл Tomcat-base-path/conf/Tomcat-users.xml. (Щелкните правой кнопкой мыши узел экземпляра веб-сервера Tomcat в окне «Службы» и выберите «Свойства». В диалоговом окне «Свойства» свойство «Базовый каталог» указывает на каталог base-dir.) Запись пользователя с правами администратора в файле 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>

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

2
Sampath T

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

1
lalo