2

我在 Mac OS X 10.8.2 上的 Eclipse 上使用 Tomcat v.7.0 时遇到问题。我认为问题是我在同一个笔记本上运行了另一个旧版本的 Tomcat。但我无法找到它并关闭它/杀死它。

当我尝试在 Eclipse 上启动 Tomcat 时,出现以下错误:

    Nov 10, 2012 2:45:45 PM org.apache.catalina.core.StandardServer await
    SEVERE: StandardServer.await: create[localhost:8005]: 
    java.net.BindException: Can't assign requested address
        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:427)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:766)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
        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:451)

完整日志如下。

我尝试使用聚光灯和程序 Find Any File ( http://apps.tempel.org/FindAnyFile/index.php ) 来查找我的 Tomcat 安装位置。我寻找关键字“catalina.sh”并删除了这些发现的所有父文件夹。我还删除了我的 eclipse 工作区并重新安装了 eclipse。启动我的笔记本。没有帮助。

当我进行端口扫描时,它没有显示任何内容。看截图:

在此处输入图像描述

请告知我应该如何找出 Tomcat 的问题以及如何删除它。

(我是 Java EE 和 Mac OSX 的新手)

    Nov 10, 2012 2:45:44 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
    Nov 10, 2012 2:45:44 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    Nov 10, 2012 2:45:44 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
    Nov 10, 2012 2:45:44 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 1553 ms
    Nov 10, 2012 2:45:44 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    Nov 10, 2012 2:45:44 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.32
    Nov 10, 2012 2:45:45 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8080"]
    Nov 10, 2012 2:45:45 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8009"]
    Nov 10, 2012 2:45:45 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 719 ms
    Nov 10, 2012 2:45:45 PM org.apache.catalina.core.StandardServer await
    SEVERE: StandardServer.await: create[localhost:8005]: 
    java.net.BindException: Can't assign requested address
        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:427)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:766)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
        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:451)
    Nov 10, 2012 2:45:45 PM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["http-bio-8080"]
    Nov 10, 2012 2:45:47 PM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
    Nov 10, 2012 2:45:49 PM org.apache.catalina.core.StandardService stopInternal
    INFO: Stopping service Catalina
    Nov 10, 2012 2:45:49 PM org.apache.coyote.AbstractProtocol stop
    INFO: Stopping ProtocolHandler ["http-bio-8080"]
    Nov 10, 2012 2:45:51 PM org.apache.coyote.AbstractProtocol stop
    INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
    Nov 10, 2012 2:45:53 PM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["http-bio-8080"]
    Nov 10, 2012 2:45:53 PM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
4

5 回答 5

4

我通过指定解决了这个问题

<Server address="0.0.0.0" port="8005" shutdown="SHUTDOWN">

在 conf/server.xml。

于 2014-07-12T12:46:25.033 回答
2

您已经在尝试启动 Tomcat 的同一端口上运行了一些东西。

 sudo lsof -i :8080 # checks port 80

默认值为 8080,它在 Tomcat conf 目录的 server.xml 中设置。

于 2012-11-11T10:41:58.593 回答
1

添加

-Djava.net.preferIPv4Stack=true

我为我CATALINA_OPTS解决了这个问题。显然 localhost 没有在 IPv6 上设置。

于 2013-01-01T19:07:00.707 回答
0

FAF的作者在这里:)

我不是 Tomcat 专家,但我建议您订阅 lists.apple.com 上的“Macos-x-server”列表并在那里寻求帮助。

另外,Tomcat 曾经在那个系统上运行过吗?如果没有,也许你配置了一个非法端口。尝试将端口号更改为 1024 以上的一个,看看是否有帮助。

最后,我认为您在错误的网站上提问。这是针对编程问题的。在 SO 旁边还有其他 OSX/Server 特定站点可能更好地询问这个问题。

于 2012-11-11T10:27:37.963 回答
0

检查您是否只有一台网络设备在运行。一旦我将 WiFi 连接切换为仅在工作时使用以太网连接,我的问题就得到了解决。在家里,WiFi 工作正常,因为这是我在那里唯一的连接。

不知道为什么会发生这种情况,我猜是 Tomcat 对设备感到困惑并错误地分配了端口。

于 2013-10-18T12:05:46.543 回答