当我启动Tomcat的语言环境实例时,我收到以下错误:
SEVERE: StandardServer.await: create[8005]:
java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
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:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
我在论坛上看到过人们有同样的问题。 Netstat未显示正在使用的端口8080,8005或8009。我试图改变端口,但我得到了同样的错误。我还检查了hosts文件 Windows \ System32 \ drivers \ etc和行
127.0.0.1 localhost
未评论。我没有更改server.xml中的任何内容,因为昨天我无法让它工作。 有什么想法吗?
编辑:
<Server port="8005" shutdown="SHUTDOWN">
Connectors:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
谢谢你的帮助
答案 0 :(得分:10)
我通过指定
解决了这个问题 <Server address="0.0.0.0" port="8005" shutdown="SHUTDOWN">
在conf / server.xml。
答案 1 :(得分:6)
您的服务器的IP已更改(甚至是您不使用的其他网卡的IP),您必须进行编辑。
C:\Windows\System32\drivers\etc\hosts
答案 2 :(得分:3)
最可能的原因是:您的localhost的IP地址未在主机文件中正确配置。 验证主机文件: 运行:system32:drivers:etc:host 在记事本中打开此主机文件
将此localhost行保留为主机文件中的第1行。 关闭一切。 从Eclipse中删除服务器并重新配置它。 它应该有所帮助。
答案 3 :(得分:3)
在我的情况下,这是主机文件(Windows)的问题。 实际上我从一开始就有以下条目... 172.16.xxx.yyy localhost
大约两周前,我们公司进行了物理服务器和网络域拆分活动,这改变了所有机器的IP。 在这里,我的yyy被改变了。
当我编辑我的IP时,错误消失了。 谢谢Saurabh Chande。
答案 4 :(得分:2)
我设法解决了这个问题。
我在Eclipse中遇到了与本地tomcat相同的问题(它无法启动,因为它无法找到tomcat.bin)。 我右键单击Eclipse中Servers选项卡中的Tomcat服务器并单击属性。在常规属性中有一个“切换位置”按钮。它曾经指向Eclipse上的本地Tomcat,但是使用此按钮将其更改为C盘上实际安装Tomcat的文件夹。现在Tomcat正在Eclipse和localy中工作。
答案 5 :(得分:0)
如果未正确设置hosts文件的权限,我在服务器上遇到此问题
正在运行now = Math.abs(now - timeSinceYouCalculatingDiff);
end = Math.abs(end - timeSinceYouCalculatingDiff);
// Note timeSinceYouCalculatingDiff should be less than now and end dates
更正了问题。
答案 6 :(得分:0)
第1步: 转到C:\ Windows \ System32 \ drivers \ etc
第2步:
找到主机文件并使用带有管理员模式的记事本打开它
第3步:
用127.0.0.1替换本地主机IP
例如
# 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步:
保存该文件并运行服务器
答案 7 :(得分:0)
我知道在此线程中发布消息有点晚了,但是我想帮助那些正在寻找答案并且遇到类似于我的问题的人。而且我没有足够的代表,因此无法发表评论。
OP发布后,
我还检查了Windows \ System32 \ drivers \ etc和该行中的主机文件
127.0.0.1 localhost
未评论。我没有更改server.xml中的任何内容,并且从昨天开始我无法使其正常工作。有什么想法吗?
我想对此部分发表评论。对于我来说,下面的行也没有评论。
127.0.0.1 localhost
但是,还有另一行将“ localhost”绑定到旧的本地IP。
127.0.0.1 localhost
10.10.1.123 localhost
由于路由器的重新配置,最近更改的是我原来的本地IP,这是罪魁祸首。因此,评论重复的行解决了我的问题。
结论是,除了检查回送IP是否已注释之外,还要检查“ localhost”是否存在多个绑定。