当前位置: 代码迷 >> Eclipse >> ubuntu下myeclipse中的tomcat7无法启动,求教解决方案
  详细解决方案

ubuntu下myeclipse中的tomcat7无法启动,求教解决方案

热度:45   发布时间:2016-04-23 00:03:03.0
ubuntu下myeclipse中的tomcat7无法启动,求教
ubuntu12.04、myeclipse10.06下tomcat7无法启动,而在终端中运行  startup.sh是可以的,登录localhost:8080也是可以显出欢迎界面的,但myeclipse启动不行,求指点
具体报错如下
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version:        Apache Tomcat/7.0.57
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built:          Nov 3 2014 08:39:16 UTC
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number:         7.0.57.0
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name:               Linux
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version:            3.2.0-77-generic
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture:          amd64
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: JAVA_HOME:             /usr/lib/jvm/java-6-openjdk-amd64/jre
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version:           1.6.0_34-b34
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor:            Sun Microsystems Inc.
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE:         /usr/tomcat/tomcat7
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME:         /usr/tomcat/tomcat7
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=/usr/tomcat/tomcat7
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=/usr/tomcat/tomcat7
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.endorsed.dirs=/usr/tomcat/tomcat7/common/endorsed
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.io.tmpdir=/usr/tomcat/tomcat7/temp
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.library.path=/usr/lib/jvm/java-6-openjdk-amd64/bin:/usr/tomcat/tomcat7/bin
2015-3-21 15:31:08 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dsun.io.useCanonCaches=false
2015-3-21 15:31:08 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-openjdk-amd64/bin:/usr/tomcat/tomcat7/bin
2015-3-21 15:31:08 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8080"]
2015-3-21 15:31:08 org.apache.coyote.AbstractProtocol init
严重: 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:411)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:646)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
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:821)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
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:622)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
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:398)
... 17 more
2015-3-21 15:31:08 org.apache.catalina.core.StandardService initInternal
严重: 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:821)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
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:622)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
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:411)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:646)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
... 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:398)
... 17 more
2015-3-21 15:31:08 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
2015-3-21 15:31:08 org.apache.coyote.AbstractProtocol init
严重: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"]
java.net.BindException: Address already in use <null>:8009
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:411)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:646)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
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:821)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
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:622)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
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:398)
... 16 more



------解决思路----------------------
java.net.BindException: Address already in use <null>:8080
应该是你的8080端口被占用了,你说通过startup.sh可以启动,是不是你启动完了忘记关掉,而导致被占用?
------解决思路----------------------
由于你有startup.sh,所以你需要shutdown.sh!关闭该服务即可!
如若关闭不了,就应该进程有操作!

//查看tomcat进程
ps -ef 
------解决思路----------------------
grep tomcat
//如若有进程的话,就强制杀死该进程
kill -9 PID
//PID:进程ID

------解决思路----------------------
进命令行
lsof -i:8080
,然后kill掉随后出现的pid。同理关闭8009的占用。
这异常就是8080被占用了,就算是null的占用也叫占用啊。
------解决思路----------------------
FileNotFoundException 文件找不到!
conf看下有没有tomcat-users.xml,在有看下你当前用户是否有权限!



------解决思路----------------------
javax.naming.NamingException;你是不是有直接在tomcat下面配置数据源?如果是的话就应该是JNDI错误!