本文介绍了如何修复“无法初始化与 ProtocolHandler 相关的端点"错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在我的 Ubuntu 12.04 中安装了 Tomcat 7.

I have installed Tomcat 7 in my Ubuntu 12.04.

Tomcat 不知何故没有启动.尝试了所有可能的步骤,查看了论坛;没有任何帮助.

Somehow Tomcat is not starting. Tried out all possible steps, checked out forums; nothing helped.

谁能告诉我出了什么问题?

Can anyone tell me what went wrong?

从我的 PC 登录,用于命令:

Log from my PC, for the command:

~$ sh  /usr/share/tomcat7/bin/catalina.sh run

Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk/jre
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/var/lib/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/var/lib/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/var/lib/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/var/lib/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/var/lib/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/var/lib/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.

提前致谢.

从下方编辑.

重新安装Tomcat7.

这次丢失的server.xml"文件位于路径:/usr/share/tomcat7/skel/conf/server.xml.

再次尝试:

~$ sh  /usr/share/tomcat7/bin/catalina.sh run

日志如下.

Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk/jre
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.

从下方编辑.

强行压制警告

现在我做了以下几件事:


Edited from below.

Forcefully tried to suppress the warnings

Now I have performed the following things:

  1. 获取 bash 身份验证通行证:

  1. Get bash authentication pass:

~$ sudo bash

  • 在/usr/share/tomcat7/skel 创建临时目录

  • Create a temp directory at /usr/share/tomcat7/skel

    ~# mkdir /usr/share/tomcat7/skel/temp
    

  • 告诉 Tomcat7 我的 conf/server.xml 在哪里

  • Tell Tomcat7 where is my conf/server.xml located

    ~# export CATALINA_BASE=/usr/share/tomcat7/skel
    

  • 运行 Catalina.sh

  • Run Catalina.sh

    ~# sh  /usr/share/tomcat7/bin/catalina.sh run
    

  • 日志:

    Using CATALINA_BASE:   /usr/share/tomcat7/skel
    Using CATALINA_HOME:   /usr/share/tomcat7
    Using CATALINA_TMPDIR: /usr/share/tomcat7/skel/temp
    Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk/jre
    Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
    21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol init
    SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
    java.net.BindException: Address already in use <null>:8080
        at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
        at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:815)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:594)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:619)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
    Caused by: java.net.BindException: Address already in use
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)
        at java.net.ServerSocket.bind(ServerSocket.java:336)
        at java.net.ServerSocket.<init>(ServerSocket.java:202)
        at java.net.ServerSocket.<init>(ServerSocket.java:158)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
        at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
        ... 17 more
    21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardService initInternal
    SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
    org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:815)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:594)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:619)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
    Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:958)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        ... 12 more
    Caused by: java.net.BindException: Address already in use <null>:8080
        at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
        at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
        ... 13 more
    Caused by: java.net.BindException: Address already in use
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)
        at java.net.ServerSocket.bind(ServerSocket.java:336)
        at java.net.ServerSocket.<init>(ServerSocket.java:202)
        at java.net.ServerSocket.<init>(ServerSocket.java:158)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
        at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
        ... 17 more
    21 Jan, 2013 4:04:57 AM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 811 ms
    21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
    21 Jan, 2013 4:04:57 AM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 37 ms
    21 Jan, 2013 4:04:57 AM 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.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)
        at java.net.ServerSocket.bind(ServerSocket.java:336)
        at java.net.ServerSocket.<init>(ServerSocket.java:202)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:727)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:673)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
    21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["http-bio-8080"]
    21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardService stopInternal
    INFO: Stopping service Catalina
    21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol stop
    INFO: Stopping ProtocolHandler ["http-bio-8080"]
    21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["http-bio-8080"]
    

    虽然存在 SEVERE 消息日志,但是当我在浏览器中测试 http://localhost:8080 时,我看到它可以工作!

    Although there are SEVERE message logs present, but when I tested http://localhost:8080 in my browser, I see It works!

    需要专家的建议:我应该继续我在 Tomcat7 上的工作还是需要整理一些东西.

    Need experts advice: should I proceed with my work on Tomcat7 or there are things required to sort out.

    推荐答案

    通过重新下载(下载了 *tar.gz 压缩版本)重新安装解决了问题.

    Problem solved by reinstallion from a fresh download(downloaded the *tar.gz compressed version).

    这篇关于如何修复“无法初始化与 ProtocolHandler 相关的端点"错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

    08-06 08:35