关于myeclipse10中配置tomcat7出现的问题
来源:互联网 发布:淘宝优惠券软件叫什么 编辑:程序博客网 时间:2024/05/23 17:30
在myeclipse10中配置tomcat7时,启动后出现这个错误。
org.apache.catalina.core.StandardServer await
严重: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.(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await
(StandardServer.java:406)
at org.apache.catalina.startup.Catalina.await
(Catalina.java:676)
at org.apache.catalina.startup.Catalina.start
(Catalina.java:628)
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:289)
at org.apache.catalina.startup.Bootstrap.main
(Bootstrap.java:414)
我网上找个很多资料,开始没看清楚网上大部分的解释都是端口占用,或者是说环境
变量配置出错。我修改了端口,发现还是一样的错,尝试了好多次,
也修改好多次环境变量,也没用,问同学也不懂。都怪自己粗心,但终于发现了一个
问题:端口占用的错误是如下:
严重: StandardServer.await: create[8005]:
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
粗看都一样,其实一个是Address already in use,一个是cannot assign requested address。这是关键。
解决办法是:
将计算机的C:\Windows\System32\drivers\etc\hosts文件中的
localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 localhost127.0.0.1 localhost
#google_android更新203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com127.0.0.1 localhost127.0.0.1
localhost
将#google_android更新
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
删掉。
203.208.46.146是一个不存在的本地IP地址,将hosts文件中的内容203.208.46.146
去掉后,再次启动Tomcat,发现运行正常!
Tomcat在启动时,会根据配置去获取所有的IP地址,并且进行逐个绑定,当发现需要
绑定的IP地址不存在时,将会触发上述异常,从而导致无法正常启动。
用下面的java代码可以输出localhost映射的所有IP地址
InetAddress[] ips = InetAddress.getAllByName("localhost");
if (ips != null) {
for (InetAddress ip : ips) {
System.out.println(ip.getHostAddress());
}
org.apache.catalina.core.StandardServer await
严重: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.(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await
(StandardServer.java:406)
at org.apache.catalina.startup.Catalina.await
(Catalina.java:676)
at org.apache.catalina.startup.Catalina.start
(Catalina.java:628)
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:289)
at org.apache.catalina.startup.Bootstrap.main
(Bootstrap.java:414)
我网上找个很多资料,开始没看清楚网上大部分的解释都是端口占用,或者是说环境
变量配置出错。我修改了端口,发现还是一样的错,尝试了好多次,
也修改好多次环境变量,也没用,问同学也不懂。都怪自己粗心,但终于发现了一个
问题:端口占用的错误是如下:
严重: StandardServer.await: create[8005]:
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
粗看都一样,其实一个是Address already in use,一个是cannot assign requested address。这是关键。
解决办法是:
将计算机的C:\Windows\System32\drivers\etc\hosts文件中的
localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 localhost127.0.0.1 localhost
#google_android更新203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com127.0.0.1 localhost127.0.0.1
localhost
将#google_android更新
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
删掉。
203.208.46.146是一个不存在的本地IP地址,将hosts文件中的内容203.208.46.146
去掉后,再次启动Tomcat,发现运行正常!
Tomcat在启动时,会根据配置去获取所有的IP地址,并且进行逐个绑定,当发现需要
绑定的IP地址不存在时,将会触发上述异常,从而导致无法正常启动。
用下面的java代码可以输出localhost映射的所有IP地址
InetAddress[] ips = InetAddress.getAllByName("localhost");
if (ips != null) {
for (InetAddress ip : ips) {
System.out.println(ip.getHostAddress());
}
0 0
- 关于myeclipse10中配置tomcat7出现的问题
- Myeclipse10+TomCat7配置
- Myeclipse10+TomCat7配置
- MyEclipse10+tomcat7+jdk配置
- MyEclipse10下配置tomcat7
- 关于Myeclipse10中建立web工程添加spring配置文件出现红叉错误提示的问题
- 关于Tomcat7.*的Manger配置问题
- MyEclipse10 Tomcat7 JDK1.7 配置
- MyEclipse10 Tomcat7 JDK1.7 配置
- MyEclipse10.7配置Tomcat7.0
- 如何配置JDK1.7+tomcat7.0+MyEclipse10.7的环境
- 关于web.xml中引用其它xml片段,然后运行在tomcat7.0.62上出现的问题
- 关于myeclipse8.5中配置tomcat7的新手弯路记录
- MyEclipse10+tomcat7+jdk1.6安装配置
- 【问题】在Myeclipse8.5中配置tomcat7的步骤
- 关于myEclipse10创建maven项目的问题
- 关于myeclipse10与maven整合的问题
- 关于Tomcat安装的出现“unable open the service tomcat7"问题
- 操作文件
- Zabbix2.2.2源码安装部署排错以及MySQL数据库监控实例
- BUPT OJ93 中序遍历序列
- 找出所有和为n的连续正整数序列
- 输入输出流
- 关于myeclipse10中配置tomcat7出现的问题
- zoj 3761 Easy billiards(建图+贪心+dfs)
- 【数据结构与算法】内部排序之四:归并排序和快速排序(含完整源码)
- oracle数据库用户和表空间删除,创建
- Android显式启动与隐式启动Activity
- PostgreSQL 恢复数据库数据
- Oracle函数大全
- gstreamer download and store the stream locally when playing
- Android UI ExpandableListActivity与ExpandableListActivity