Address already in use: JVM_Bind(端口冲突)

来源:互联网 发布:数据库未打开怎么解决 编辑:程序博客网 时间:2024/06/11 04:37
 
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)
 
Web 编程的可能情况:
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等等

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