您的位置:首页 > 编程语言 > Java开发

java.net.BindException: Address already in use: JVM_Bind

2011-06-15 09:03 351 查看
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at mypackage.WebServer.startServer(WebServer.java:13)
at mypackage.WebServer.main(WebServer.java:33)

这是我学JavaWeb遇到的第一个错误,解决花了一些时间。看到错误不要害怕,因为解决错误的同时,正是我们经验值增长也在增长的哦

这个是我在使用Socket和多线程实现一个JavaWeb服务器时遇到的

Address already in use 这句话是地址已经使用

这个是遇到这个问题的可能情况

I.就是当前端口已经有别的程序在占用着,所以要么把占用这个端口的程序关闭,要么重新换一个端口

II.端口号被占用,如果你有装oracle的话,有可能是oracle使用了8080端口,oracle安装后并且如果启动了OracleHttp服务会占用8080端口

III.我认为很可能是多启动了几次TOMCAT,在ECLIPSE下重复启动TOMCAT就会出现这个问题,你去调查一下看看是否是这个原因.

IV.如果不是windows操作系统,那么80端口已经被占用.如果是windows操作系统.请检查是否装有IIS.
查找问题原因:我的机子还没有装Oracle,并且使用的是Windows操作系统,装了IIS了,使用的是80端口,但我这个程序是用的8080端口,排除了II、IV。I说的笼统了点,我的问题是III多启动了几次TOMCAT,在ECLIPSE下重复启动TOMCAT就会出现这个问题

解决方法:

1.把myeclipse关掉后台的javax.exe进程杀掉。然后重新启动myeclipse就可以了

2. 把tomcat/conf文件夹里面的server.xml的端口换成其它未占用的80端口 如:8088、8089等等

建议出现上述情况使用第一种方法。

ps: 现在的我回头看看其实就是简单一句话. 你的8080端口是否被占用了 比如你的tomcat配置的端口是8080 那么其他程序此时也有在用这个端口的那么你此时启动tomcat就会报这个错误.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐