2012-02-19 4 views
2

Я новичок в Tomcat и Eclipse, но искал решение в течение нескольких дней. Я установил Tomcat v7.0 и могу запустить/остановить его с терминала, но я не могу заставить его работать с Eclipse. Я следую учебник по http://www.vogella.de/articles/EclipseWTP/article.html#jspservlets, но когда я пытаюсь запустить мой сервлет я получаю предупреждение: «Сервер Tomcat v7.0 Сервер на локальном хосте не удалось запустить» с выходом консоли как:Tomcat не запускается в Eclipse - java.net.BindException: адрес уже используется

Feb 18, 2012 7:05:54 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: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java 
Feb 18, 2012 7:05:54 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:de.vogella.wtp.filecounter' did not find a matching property. 
Feb 18, 2012 7:05:54 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Feb 18, 2012 7:05:54 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Feb 18, 2012 7:05:54 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 1046 ms 
Feb 18, 2012 7:05:54 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Feb 18, 2012 7:05:54 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.25 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Feb 18, 2012 7:05:55 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 654 ms 
Feb 18, 2012 7:05:55 PM org.apache.catalina.core.StandardServer await 
SEVERE: StandardServer.await: create[localhost:8005]: 
java.net.BindException: Address already in use 
at java.net.PlainSocketImpl.socketBind(Native Method) 
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) 
at java.net.ServerSocket.bind(ServerSocket.java:328) 
at java.net.ServerSocket.<init>(ServerSocket.java:194) 
at org.apache.catalina.core.StandardServer.await(StandardServer.java:422) 
at org.apache.catalina.startup.Catalina.await(Catalina.java:728) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:674) 
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:322) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450) 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol pause 
INFO: Pausing ProtocolHandler ["http-bio-8080"] 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol pause 
INFO: Pausing ProtocolHandler ["ajp-bio-8009"] 
Feb 18, 2012 7:05:55 PM org.apache.catalina.core.StandardService stopInternal 
INFO: Stopping service Catalina 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol stop 
INFO: Stopping ProtocolHandler ["http-bio-8080"] 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol stop 
INFO: Stopping ProtocolHandler ["ajp-bio-8009"] 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol destroy 
INFO: Destroying ProtocolHandler ["http-bio-8080"] 
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol destroy 
INFO: Destroying ProtocolHandler ["ajp-bio-8009"] 

NetStat Безразлично Показывать порты 8080, 8005 или 8009, прежде чем пытаться запустить Tomcat, так что это не проблема. Любая идея, что происходит не так?

ответ

4

Кажется, что когда вы установили Tomcat, он решил работать в сервисном режиме и должен запускаться при запуске вашей системы. Следовательно, ошибка при запуске tomcat через eclipse.Использование других портов в server.xml может не решить вашу проблему. Мое предположение, что еще один экземпляр tomcat уже запущен. Можете ли вы проверить в taskmanager другого экземпляра tomcat, который запущен, прежде чем вы начнете это от затмения? Также вы можете опубликовать результат netstat run?

+0

Спасибо за ответ. Я думаю, вы были правы - возможно, был другой пример, который я не узнал. Я перезапустил свою систему, и Eclipse смог запустить Tomcat (INFO: запуск сервера в 484 мс). К сожалению, Tomcat сам теперь дает мне ошибку HTTP 404: «Запрошенный ресурс /de.vogella.wtp.filecounter/servlet/de .vogella.wtp.filecounter.servlets.FileCounter недоступен. " – Sliss

+0

Еще несколько часов копания и помощь тщательного руководства по адресу http://cse.csusb.edu/turner/java_web_programming/servlets/ исправили 404s. Мне просто нужно было исправить строку в моем XML-файле. – Sliss

-2

Изменение Tomcat настройки порта:

Кажется Tomcat уже интегрирован в Eclipse. Таким образом, должен быть проект под названием «Servers» в вашем Eclipse, вы можете найти свой узел конфигурации Tomcat. Измените атрибут порта в server.xml. Конечно, плагин предоставляет множество способов интеграции с Tomcat, но основная идея - изменить server.xml.

0

шаг 1: перейти на C: \ Windows \ System32 \ Drivers \ Etc

шаг 2:

найти файл хостов и откройте его с помощью блокнота с режимом администратора

шаг 3:

заменить локальный IP хоста с 127.0.0.1

пример

# Copyright (c) 1993-2009 Microsoft Corp. 
# 
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows. 
# 
# This file contains the mappings of IP addresses to host names. Each 
# entry should be kept on an individual line. The IP address should 
# be placed in the first column followed by the corresponding host name. 
# The IP address and the host name should be separated by at least one 
# space. 
# 
# Additionally, comments (such as these) may be inserted on individual 
# lines or following the machine name denoted by a '#' symbol. 
# 
# For example: 
# 
#  102.54.94.97  rhino.acme.com   # source server 
#  38.25.63.10  x.acme.com    # x client host 

# localhost name resolution is handled within DNS itself. 
    127.0.0.1  localhost 
# ::1    localhost 

шаг 4:

сохранить этот файл и запустить сервер

Смежные вопросы