最近一直在使用tomcat和jboss ,进程出现端口被占用的情况 ,端口一但被占用了,tomcat或者是jboss启动的时候,就会报一大串的错误,其中有个特别明显的标准就是:Caused by: java.lang.Exception: Port8083 already in use.或者是Caused by: java.net.BindException:Address already in use: JVM_Bind,你都不用怀疑了,这肯定是端口被其他程序给占用 了.教你三招,轻松搞定端口被占用 .
第一招:关闭占用端口的程序
- 首先打开cmd,打开的方法很简单,在开始菜单中直接输入即可。同样也可以按下win+R打开运行,然后输入cmd即可。
- 在dos命令中输入以下命令查询正在被使用的端口号以及使用它的程序。
命令:netstat-ano
也可以用把端口筛选出来,这样就不用一个一个找,命令:netstat-ano|findstr 8080
- 内容分析:
前面的程序占用的进程,冒号后面的就是我们要查找的端口。找到8080,因为我的已经解决了,所以这里图片就不能给大家了。
- 看到后面是有一个PID,然后把占用8080端口的PID号记下来。
- 在任务栏右击鼠标——选择任务管理器。
- 点击菜单栏中的选型——显示前段按钮。然后将选项卡打到进程一栏。这是你就能看到程序所占用的PID号了。
- 找到刚刚查询的占用8080端口的那个进程,结束掉就OK了。
第二招:修改Tomcat的配置文件
例如:d:/tomcat7.0.00/conf/server.xml
<Connector port="8080"maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25"maxSpareThreads="75"
enableLookups="false" redirectPort="8443"acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
将port="8080"中的端口改为一个没有被占用的端口。
第三招:在Eclipse中修改端口号
双击tomcat,然后修改:
修改完成后保存修改,重启tomcat就可以了.
第一种方法看似有些复杂但是是从根本上解决了问题,第二种和第三种方法,还有一个个测试,测试哪一个接口没有被占用.这仅是一个权宜之计,我不推荐.有句话叫做:方法总是比问题多.的确如此.一个端口被占用,就会三种不同的解决方法.这三种方法不仅仅用于tomcat,同样也适用于服务器jboss.不同的服务器,相同的问题,解决的方法是一样的.