Tomcat в Eclipse: работает, но время ожидания при запуске все равно - PullRequest
6 голосов
/ 05 февраля 2011

Я запускаю веб-приложение на Java в Eclipse (Helios), используя Tomcat 7. Сервер успешно запускается (указана продолжительность), однако индикатор выполнения Eclipse продолжает вращаться, сообщая, что Tomcat запускается.В конце концов тайм-аут достигнут и выдается ошибка.

Я считаю, что Tomcat в порядке, так как я принял команду, которую он использует, и запустил ее вручную в оболочке.Tomcat работает нормально, и я могу открыть веб-приложение по ожидаемому URL.Я также могу нажать его после запуска и до истечения времени ожидания.

Я переустановил Eclipse, я запустил его с чистым, я удалил / пересоздал сервер.Ничего не сработало.У кого-нибудь есть подсказки?

Ответы [ 7 ]

5 голосов
/ 23 октября 2013

У меня была эта проблема, похоже, что Eclipse вызывает URL-адрес приложения после запуска, чтобы убедиться, что оно работает.

Прокси-клиент (pshione) изменил системный прокси, поэтому затмение не может вызвать стартовую страницу и считает, что приложение еще не запускается !!

Я удалил прокси, и теперь он работает нормально!

Отредактировано:

Это также может произойти, когда вы запускаете tomcat по SSL, но ssl-сертификация недействительна. Когда вы совершаете звонок на недействительный сайт сертификации SSL, некоторые браузеры подтверждают, хотите ли вы зайти на него или нет, но затмение не может подключиться к вашему недействительному сайту ssl! Я предлагаю проверить ваш сайт с нормальным http вместо https.

3 голосов
/ 28 октября 2013

Некоторые обновления Java вызывают проблемы с сетевой работой Eclipse. В частности, Eclipse пытается использовать IPv6 вместо IPv4 и иногда терпит неудачу. Когда Eclipse запускает Tomcat, одним из последних шагов, который он выполняет, является тестирование отладочного вызова Tomcat. Это может быть та часть, которая висит. К счастью, исправить это очень легко. Мы просто говорим Eclipse использовать вместо него IPv4.

Для этого отредактируйте файл eclipse.ini (находится в каталоге Eclipse) и добавьте следующее в конец файла в отдельной строке:

-Djava.net.preferIPv4Stack=true

Перезапустите Eclipse, и у вас все получится.

2 голосов
/ 02 июля 2016

У меня была та же проблема, она возникла из-за определенных мной коннекторов (у меня был только коннектор AJP).

Добавление HTTP-коннектора в файл Tomcat server.xml решило проблему.

1 голос
/ 11 января 2012

У меня возникла эта проблема, похоже, что моя версия Tomcat была глючной (Tomcat 7.0.23) переключите вашу версию Tomcat на другую (т.е. Tomcat 7.0.14), она работает для меня.

удачи

1 голос
/ 05 февраля 2011

Я нашел ответ (сразу после публикации здесь, который, по иронии судьбы, кажется, как найти ответ на свой вопрос.)

Ответ состоял в том, что порт использовался другим процессом. Я должен был знать, но обновление нескольких различных пакетов сделает это. Но на симптомы:

  • Tomcat запускается успешно. Может ударить приложение до истечения времени ожидания.
  • Похоже, Eclipse не может определить, запущен или остановлен сервер.

HTTP в настоящее время работает по умолчанию 8080. К сожалению, мое хранилище данных прослушивало 8080 (мое предположение, поскольку я не особо уверен, что он делает с портом, за исключением того, что он выделен для jmx). Я предполагаю, что Eclipse не может обнаружить Tomcat на 8080.

0 голосов
/ 17 октября 2018

Эта проблема связана с tomcat, настроенным с HTTPS без HTTP-коннектора.

У меня был этот SSL-коннектор в server.xml, и мой кот в Eclipse всегда показывает Starting :

<Connector SSLEnabled="true" asyncTimeout="10000000" clientAuth="false" 
    connectionTimeout="10000000" keepAliveTimeout="10000000" 
    keystoreFile="/opt/config/selfsigned.p12" keystorePass="changeit" 
    keystoreType="PKCS12" maxThreads="200" port="443"
    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
    secure="true" sslProtocol="TLS"/>

Я полагаю, что Eclipse использует HTTP-соединение с сервером для проверки доступности экземпляра Tomcat.

Я решил эту проблему, включая дополнительный HTTP-соединитель, перенаправляющий на HTTPS на сервере.xml.

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

<Connector SSLEnabled="true" asyncTimeout="10000000" clientAuth="false" 
    connectionTimeout="10000000" keepAliveTimeout="10000000" 
    keystoreFile="/opt/config/selfsigned.p12" keystorePass="changeit" 
    keystoreType="PKCS12" maxThreads="200" port="443"
    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
    secure="true" sslProtocol="TLS"/>

С этим изменением мой кот в Eclipse начинает правильно отображать состояние Отладка .

0 голосов
/ 25 апреля 2013

Это может произойти, если два сервлета сопоставлены с одним и тем же URL-адресом запроса, Tomcat запустится нормально, но eclipse не сможет сгенерировать правильный файл web.xml и, следовательно, не сможет опубликовать webApp.Проверьте соответствие сервлетов @WebServlet("\TheURLThatShouldInvokeThisServlet") и убедитесь, что два сервлета не имеют одинаковый "TheURLThatShouldInvokeThisServlet".

(поместите для записи!)

...