Ошибка Tomcat в затмении - PullRequest
       5

Ошибка Tomcat в затмении

7 голосов
/ 12 марта 2011

У меня проблема с eclipse, которая говорит, что порты уже используются (80, 8009). Когда я меняю порты, я получаю сообщение об ошибке: Tomcat v6 на локальном хосте не запускается.

Когда я отлаживаю Tomcat, я получаю эту ошибку:

11-Mar-2011 21:11:40 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: C:\Program Files\Java\jdk1.6.0_21\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;C:\Program Files\Java\jdk1.5.0_09\bin;C:\Program Files\QuickTime\QTSystem\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\apache-ant-1.8.1\bin;C:\Program Files\Subversion\bin;C:\Program Files\Java\jdk1.6.0_21\bin;C:\Users\Rajin\Desktop\eclipse-jee-helios-SR1-win32\eclipse;
11-Mar-2011 21:11:41 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:EducationGamesApp' did not find a matching property.
11-Mar-2011 21:11:41 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
11-Mar-2011 21:11:41 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 635 ms
11-Mar-2011 21:11:41 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
11-Mar-2011 21:11:41 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
11-Mar-2011 21:11:41 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
11-Mar-2011 21:11:41 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8008
11-Mar-2011 21:11:41 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/29  config=null
11-Mar-2011 21:11:41 org.apache.catalina.startup.Catalina start
INFO: Server startup in 390 ms
11-Mar-2011 21:11:41 org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[8005]: 
java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
    at java.net.ServerSocket.bind(ServerSocket.java:319)
    at java.net.ServerSocket.<init>(ServerSocket.java:185)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:662)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:614)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Спасибо

Ответы [ 5 ]

5 голосов
/ 12 марта 2011

По умолчанию Tomcat использует два порта: один для коннектора HTTP и один в качестве порта «Сервер». Если вы откроете tomcat/conf/server.xml, вы увидите следующие порты:

<?xml version='1.0' encoding='utf-8'?>
  <Server port="8005" shutdown="SHUTDOWN">
  ...
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1" ...
    ...
    <Connector port="8009" protocol="AJP/1.3" ...
  </Service>
</Server>

Как видите, порт 8009 используется для коннектора AJP, а 8080 - для коннектора HTTP.

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

4 голосов
/ 03 октября 2012

скачайте TCP view sw по следующей ссылке и разархивируйте его. http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx. см. В столбце localport есть ли какой-либо процесс, работающий в порту 8080. щелкните правой кнопкой мыши и завершите процесс. затем попробуйте запустить сервер TomCat. это действительно работает для меня ..

3 голосов
/ 12 марта 2011

Узнайте, какое приложение удерживает порт (ы), запустив

  • Windows: netstat -no
  • Linux: netstat -anp

Посмотритедля портов 8005, 8080, 8009, прослушивающих либо 127.0.0.1, либо 0.0.0.0.Найдите PID (идентификатор процесса) в диспетчере задач (Windows) или ps (Linux), чтобы узнать, какая это программа, завершите ее и попробуйте снова запустить Tomcat.

0 голосов
/ 13 октября 2014

Цирка нет,

1. Просто скачайте этот «apr-1.5.1-win32-src.zip» с https://apr.apache.org/download.cgi

  1. Извлеките папку

  2. поместите его в папку, доступную Tomcat, в вашем случае (C: \ Users \ Rajin \ Desktop \ eclipse-jee-helios-SR1-win32 \ eclipse).

  3. Перезапустить приложение / перезапустить сервер.

0 голосов
/ 02 января 2013

Фактическая причина этой проблемы - файл хоста, представленный в WINDOWS_INSTALLTION / windows / System32 / drivers / etc, где ваш старый IP-адрес был сопоставлен с localhost, как показано ниже:

127.0.0.1 localhost

192.168.XXX.XX localhost

Эта вторая строка была основным виновником, есть два способа решения этой проблемы:

  • Удалить 192.168.XXX.XX строка localhost полностью из файла хоста
  • Замените старый IP новым файлом в вашем файле хоста, т.е. вместо 192.168.XXX.XX localhost измените его на 192.168.XXX.YY localhost

См. Этот блог для более подробной информации: http://mprabhat.wordpress.com/2012/11/05/tomcat-java-net-bindexception-cannot-assign-requested-address-jvm_bind/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...