日期:2014-05-20  浏览次数:20955 次

解决Address Already in use : JVM_Bind错误
<p>平时开发都是用tomcat,但8080端口常被莫名占用。如下图:<br />


 </p>
<p>可以使用下面的方法来检查该端口被什么程序占用了。<br />
开始菜单运行输入:cmd,打开命令提示符,接着输入:netstat -ano 然后,我们在下面的结果中找到那个占用8080端口的进程号,比如是4036占用了8080端口,记住这个4036,我们接着打开任务管理器,选择:查看 --&gt;选择列--把PID进程标识符选中,如下图 <br />
</p>
<p>然后确定,然后在这个任务管理器窗口,找到PID为4036的进程,我们直接给结束了进程即可,这样问题就解决了。我的经验是迅雷等P2P工具占用的最多,另外QQ也占用过。<br />

本文内容和图片基本来自 http://www.javaeye.com/topic/608083</p>

------解决方案--------------------
顶。。。。。。。。回复内容太短了!
------解决方案--------------------
上网注意点 别什么都装
我之前出这个问题 是因为装了oracle,它的某个服务占用了这个端口.

最好的办法就是把tomcat的端口改掉不就行了,哪那么麻烦.
------解决方案--------------------
楼主,辛苦了,我也遇到过~~~~

直接改端口了,呵呵
------解决方案--------------------
图呢? .
------解决方案--------------------
别这么解决问题啊
1. 要么把乱七八糟的东西删除掉;
2. 要么修改tomcat端口;
------解决方案--------------------
我也是直接修改tomcat端口。。经常修改成8888
------解决方案--------------------
原来写过一个 bat 脚本,根据 pid 结束掉进程

BatchFile code
@echo off
if "%1" == "" goto info
setlocal enabledelayedexpansion
tasklist /fi "pid eq %1" | find "%1" > nul && (
  tasklist /fi "pid eq %1"
  echo.
  set /p str="是否要结束 PID 为 %1 的进程(Y/N)? "
  if /I "!str!" == "Y" taskkill /f /pid %1
) || echo 没有找到 PID 为 %1 的进程
goto end
:info
echo 使用方法:kill ^<需要结束的进程号(PID)^>
:end
echo on

------解决方案--------------------
你们没试过像 WebSphere 这样,一启动开 10 来个端口的,如果你想启动 2 个 WebSphere 怎么办,每个 20 几个端口都去改?

为什么你们没想到 一个网卡可以添加多个 IP 吧, 然后,
Tomcat 监听在 192.168.1.1:8080 上, 
Oracle 监听在 192.168.2.1:8080 上,
Apache 监听在 192.168.3.1:8080 上,
...
...
... 

我的世界很和谐。