Подтвердить что ты не робот

Tomcat не запускается через Eclipse (таймаут)

Я пытаюсь запустить Tomcat через Eclipse. Это то, что я делал последние несколько лет. Он работал вчера, а теперь это не так. Ошибка, которую я получаю, это

Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.

Вывод

Jul 06, 2012 8:32:26 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Java\jdk1.7.0_05\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;D:\Launch;D:\Program Files\Java\jdk1.7.0_05\bin;%PROGRAMFILES%\Internet Explorer;C:\Program Files (x86)\SMLNJ\bin\;D:\Program Files\TortoiseSVN\bin;C:\ghc\ghc-6.6\bin;D:\Program Files\MySQL\MySQL Server 5.5\bin;%ANT_HOME%/bin;D:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;D:\Program Files\Microsoft SQL Server\100\Tools\Binn\;D:\Program Files\Microsoft SQL Server\100\DTS\Binn\;D:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;D:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\Program Files (86x)\;.
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 468 ms
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.28
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\docs
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\examples
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', '[email protected]')
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\host-manager
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\manager
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\ROOT
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 504 ms

Я рассмотрел решение в течение нескольких часов. Но я не имел никакого успеха, и это, вероятно, что-то простое. Я пробовал следующее:

  • Удалить Подавать и переделывать его в eclipse
  • Перезагрузите компьютер, затмение
  • Переустановите eclipse, tomcat
  • Запустите Eclipse с -clean
  • Запустить сервер без веб-приложения
  • Увеличение тайм-аута

Я могу запустить tomcat из командной строки просто отлично. Однако мне нужно запустить его через eclipse для отладки. Я знаю этот СОСТОЙЧИК и прошел через него, а многие другие - безрезультатно.

Мысли?

ОБНОВЛЕНИЕ: Я просто понял, что сервер запускается. Однако одна из конечных функций, которые выполняет затмение, терпит неудачу. Как я это заметил, установите тайм-аут на 10 мин. Я смог получить доступ к серверу за это время, но не отладочную функциональность eclipse. Итак, Eclipse запускает его, пытается что-то сделать, что-то никогда не завершается, Eclipse закрывает Tomcat после этого тайм-аута.

ОБНОВЛЕНИЕ: оглядываясь на то, что произошло, когда эта проблема возникла, на компьютере, по-видимому, было установлено обновление Java.

4b9b3361

Ответ 1

Обновление Java вызвало ту же проблему (среди прочего) для меня. Обновление заставило Eclipse использовать ipv6 при вызове Tomcat и по какой-то причине не работает с моей настройкой.

Я исправил его, добавив

-Djava.net.preferIPv4Stack=true

В eclipse.ini.

Ответ 2

У меня была аналогичная проблема в моей системе (Windows 7 pro 64 бит), при этом Tomcat не запускался ни с одной версии Eclipse. Оказывается, по умолчанию Eclipse использует конфигурацию системной сети, и если вы настроили прокси-сервер, который не разрешает localhost, запуск Tomcat будет зависеть в Eclipse!

Чтобы узнать, есть ли у вас эта проблема, перейдите в Window -> Preferences -> General -> Network Connections и проверьте, проверено ли одно из них. Я смог переопределить конфигурацию прокси-сервера, установив Активный провайдер на Direct (он отключает все поля).

Ответ 3

Я обнаружил, что это может произойти из-за неправильного/поврежденного/??? точки останова в вашем коде при запуске в "Debug". Это часто сопровождается медленным временем запуска.

"Удалить все точки останова" прояснил это для меня.

Ответ 4

Мне удалось исправить эту проблему, выполнив следующие действия:

  • Щелкните правой кнопкой мыши на сервере Tomcat (в перспективе Eclipse Servers)
  • Выберите "Открыть" - он должен открыть редактор xml
  • Найдите раздел "Тайм-ауты" и увеличьте значение до 45 секунд

Это работает с Eclipse Helios/Tomcat 7

Ответ 5

В моем случае я отключил коннектор HTTP/1.1 на порту 8080 в пользу соединителя HTTP/1.1 SSLEnabled (https) на порту 8443.

Я не уверен, что связь Eclipse/Tomcat сбой произошла из-за неправильного порта или неправильного протокола, но когда я добавил соединитель HTTP/1.1 на порт 8080 обратно в свой server.xml(в дополнение к безопасному разъем на порту 8443), Eclipse смог правильно определить успешный запуск Tomcat.

Похоже, что для Eclipse, чтобы узнать, что Tomcat успешно запущен, Tomcat должен быть настроен на использование не-SSL-коннектора на порту 8080.

Ответ 6

В этой же проблеме. Пробовал все эти решения, предложенные другими, ничто из этого не работает для меня.

  • измените порт http 1.1 на 8090.
  • add -Djava.net.preferIPv4Stack = true для eclipse.ini(STS.ini в моем случае).
  • в окне → Настройки → Общие → Сетевые подключения, установите Active Provider в Direct или Manual.
  • добавить 127.0.0.1 localhost для размещения файла localdns (C:\Windows\System32\drivers\etc\hosts)

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

Ответ 7

Ну, я попробовал все эти параметры, я не смог получить свою последнюю версию STS (Spring Tool Suite 3.7.1.201510041213-RELEASE), чтобы выяснить, что Tomcat начал.

Я попробовал Tomcat 7.0.64, 8.0.26, 8.0.28. Все с одинаковыми результатами. Я действительно получил установку Vanilla Tomcat для работы, поэтому я решил, что это проблема с моим server.xml(или другим файлом).

Таким образом, я прошел линию за строкой до тех пор, пока вид сервера не перестанет набирать начальный статус. Короче говоря, установка атрибута secure (на любое значение, например false) на коннекторе заставляет STS предполагать, что это другой обработчик SSL.

Например:

<Connector secure="false" executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />

Повреждает STS, а:

<Connector executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />

Работает по назначению.

Похоже, что STS предполагает, что, просто имея защищенный атрибут, независимо от значения, он является обработчиком SSL. Однако старые версии STS, похоже, не имеют этой проблемы. Кто-то уже подал очень похожую ошибку.

Также обратите внимание, что на панели конфигурации сервера отображается:

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

Когда server.xml имеет атрибут secure на не-SSL-коннекторе (и поведение несколько неудобно) и:

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

Нормальные порты, перечисленные при удалении.

Ответ 8

Убедитесь, что Tomcat фактически прослушивает 127.0.0.1, когда имя хоста установлено на localhost.

При запуске сервера Tomcat в Eclipse в журнале отображается следующее:

10:07:23 INFO  main o.a.c.h.Http11NioProtocol Initializing ProtocolHandler ["http-nio-192.168.2.63-8080"]

Конфигурация сервера Tomcat "Имя хоста" и порт HTTP/1.1 ДОЛЖНЫ разрешить отображаемый IP-адрес и HTTP-порт (в данном примере IP 192.168.2.63 порт 8080)

Это исправлено с помощью Eclipse 4.5 (Mars) и Tomcat 8

Ответ 9

Я только заметил эту ошибку. Eclipse Juno + Apache 7 (7.0.27 и 7.0.29).

Сервер запускается, я могу использовать приложение, но все еще создает ошибку тайм-аута.

С Eclipse Indigo SR2 он работает правильно. Я также заметил, что мои переменные JAVA_HOME и JRE_HOME были удалены (возможно, из-за некоторых обновлений Java), поэтому я снова устанавливаю переменные.

Ответ 10

Я решаю эту проблему, добавляя

127.0.0.1 localhost

для размещения файла localdns (C:\Windows\System32\drivers\etc\hosts), кажется, что эта проблема связана с ipv6 на имя localhost.

Чтобы понять, если это проблема, попробуйте выполнить ping localhost и посмотреть, разрешено ли решение advv4 или ipv6.

Ответ 11

Перейдите в раздел "Windows" → "Настройки" → "Сетевые соединения" → выпадающее меню имеет три значения:

  • Прямой
  • Руководство
  • Native

По умолчанию он является родным, поэтому выберите руководство и нажмите Apply.

Он будет работать для Eclipse Juno EE с Tomcat 7.

Ответ 12

Я испортил файл /etc/hosts и удалил псевдоним, который был настроен в Eclipse. Так

  • Перейдите в окно > Показать представление > Серверы
  • Дважды щелкните по Tomcat v7.0 (что у меня есть версия)
  • В поле "Имя хоста:" проверьте, что у вас есть действительный псевдоним - если не уверены, используйте localhost или проверьте /etc/hosts или% systemroot%\system32\drivers\etc\hosts

Продление таймаута только задерживает неизбежное, оно фиксирует симптом не причину.

Ответ 13

Вы также должны убедиться, что вы не используете последнюю версию java jdk (например, 1.8), если это так, пожалуйста, настройте ваше eclipse для использования и более раннюю версию (например, 1.7).

Ответ 14

Для тех из вас, кто пытается запустить тяжело загруженное приложение, с большим количеством регистрации уровня INFO для консоли. Помните, что консольный принтер Eclipse может быть смущен количеством данных для печати и повесить Eclipse в течение длительного времени, тогда как сервер будет запущен и доступен через браузер.

Эта проблема возникла со мной, и мне потребовалось некоторое время, чтобы выяснить, что происходит. Я запускаю Eclipse Mars и Tomcat 7. В моем случае приложение пыталось напечатать все имена singleton bean для консоли, около нескольких тысяч имен bean, таким образом Eclipse сошел с ума.

org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons

    if (this.logger.isInfoEnabled()) {
       this.logger.info("Pre-instantiating singletons in " + this);
    }

Попробуйте, поставьте уровень ведения журнала = ERROR. Надеюсь, это поможет кому-то.

Ответ 15

По-прежнему сталкивается с такой же проблемой, пытаясь решить все вышеперечисленные решения. Я решил проблему, добавив http-коннектор в server.xml. На самом деле, прежде чем исправлять проблему, у меня есть только https-коннектор. кажется, что eclipse ищет запуск tomcat, запрашивая URL-адрес http, после удаления eclipse не может определить, успешно ли запущен tomcat.

Ответ 16

Это также может произойти, если вы установите для имени узла в настройках сервера недопустимое значение.

Ответ 17

Похоже, Eclipse проверяет статус работы Tomcat на: 8080.

У меня была аналогичная проблема с Eclipse + Tomcat, когда я отключил все коннекторы, но один для SSL-соединений (: 8443).

Чтобы избежать проблемы, я оставил в своем сервере server.xml и : 8080 и: 8443.

Ответ 18

EDIT:

Убедитесь, что ваше имя хоста является "localhost", или если вы используете конкретный IP-адрес, убедитесь, что его ПРАВИЛЬНЫЙ IP-адрес, который ваш компьютер есть.

Я изменил имя своего хоста с "localhost" на свой конкретный IP-адрес (в то время). Это должно было решить проблему, с которой я столкнулся при разработке мобильных приложений.

Моя проблема заключалась в изменении моего IP-адреса. Поэтому обновите мое имя хоста на моем новом IP-адресе. (Я верну его на локальный хост, как только закончите с мобильным тестированием).

Просто голова, иногда его простое исправление.

Ответ 19

дважды щелкнув Tomcat v7.0 Server на локальном хосте, измените имя хоста на ваш IP (IPv4). Раньше это был "localhost"

Ответ 20

Я столкнулся с той же проблемой. Я сделал все это.

  • Добавлены все переменные среды в свойствах системы.
  • Window -> Preferences -> General -> Network Connections изменил Активный провайдер на Руководство.
  • Добавлен -Djava.net.preferIPv4Stack=true после -vmargs в файл eclipse.ini.
  • Увеличение таймаута с 45 секунд.
  • Обновлено Eclipse.

Надеюсь, это поможет..!!!

Ответ 21

моя проблема получилась, я редактировал tomcat install server.xml файл для ssl на 8443 и больше не на 8080... eclipse тянет это и будет висеть при запуске... скопировал исходный server.xml и создал сервер снова и все хорошо... у меня есть отличная цель стрелять в мои собственные ноги...

Ответ 22

Удаление файла .metadata из файла рабочей области Eclipse устранило мою проблему. Затем требуется перезапустить Eclipse и настроить среду с 0 (перспективы, представления, переменные, серверы, синхронизация и т.д.)

Ответ 23

Проблема, безусловно, связана с вашей версией JDK. Если вы используете Windows 7, я бы рассмотрел возможность изменения версии вашего JDK и вашей версии tomcat.