GVKun编程网logo

已使用的地址:JVM_Bind java(java 地址已在使用)

6

在本文中,我们将为您详细介绍已使用的地址:JVM_Bindjava的相关知识,并且为您解答关于java地址已在使用的疑问,此外,我们还会提供一些关于80端口占用异常解决方法java.net.BindE

在本文中,我们将为您详细介绍已使用的地址:JVM_Bind java的相关知识,并且为您解答关于java 地址已在使用的疑问,此外,我们还会提供一些关于80端口占用异常解决方法java.net.BindException: Address already in use: JVM_Bind:80(或8080)、ActiveMQ 启动报错 Address already in use: JVM_Bind 5672、Address already in use: JVM_Bind 端口被占用的解决办法、Address already in use: JVM_Bind问题的解决的有用信息。

本文目录一览:

已使用的地址:JVM_Bind java(java 地址已在使用)

已使用的地址:JVM_Bind java(java 地址已在使用)

有时,每当我重新启动基于Java Struts Mysql和Jboss 4.05版本构建的应用程序时,都会收到以下错误消息:
地址已在使用中:JVM_Bind

我知道的唯一解决方法是重新启动计算机,然后重试,它将起作用。否则,有时我执行Ctrl-Alt-Del并停止所有与Java相关的过程,有时这也可行。

但是,确切的原因是什么,我们如何预防这个问题呢?

答案1

小编典典

已使用的地址:JVM_Bind

表示其他一些应用程序已经在侦听您当前应用程序试图绑定的端口。

您需要做的是更改当前应用程序的端口或更佳的端口;只需找出已经运行的应用程序并杀死它即可。

在Linux上,您可以使用以下命令找到应用程序pid:

netstat -tulpn

80端口占用异常解决方法java.net.BindException: Address already in use: JVM_Bind:80(或8080)

80端口占用异常解决方法java.net.BindException: Address already in use: JVM_Bind:80(或8080)

1:Tomcat(或其他Web容器)启动时控制台报错如下示:

 2007-8-2 15:20:43 org.apache.coyote.http11.Http11Protocol init 
严重: Error initializing endpoint 
java.net.BindException: Address already in use: JVM_Bind:8080 
2007-8-2 15:20:43 org.apache.catalina.startup.Catalina load 
严重: Catalina.start 
LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use: JVM_Bind:80 
2007-8-2 15:20:46 org.apache.coyote.http11.Http11Protocol start 
严重: Error starting endpointjava.net.BindException: Address already in use: JVM_Bind:80 
2007-8-2 15:20:46 org.apache.catalina.startup.Catalina start 
严重: Catalina.start: 
LifecycleException: Protocol handler start failed: java.net.BindException: Address already in use: JVM_Bind:8080 

2007-8-2 15:20:46 org.apache.catalina.startup.Catalina start 
信息: Server startup in 2922 ms 

这说明80端口(该端口是Tomcat的监听端口)已经被其他程序占用,先用命令提示符 " netstat -ano " 命令显示端口状态,再在结果中找到端口,然后根据其 PID 在输入 “ tasklist ” 命令显示中查找其对应程序,就可知道其程序名,进而查明程序的来源,采取适当的措施。 

方法可以采用如下: 

用netstat -ano 命令结果: 
Proto Local Address          Foreign Address        State           PID 
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2544 
TCP    0.0.0.0:100            0.0.0.0:0              LISTENING       2544 
TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1404 
TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4 
TCP    0.0.0.0:1110           0.0.0.0:0              LISTENING       228 
TCP    127.0.0.1:1025         0.0.0.0:0              LISTENING       1052 
TCP    127.0.0.1:1159         127.0.0.1:1110         CLOSE_WAIT      2992 
TCP    127.0.0.1:1297         127.0.0.1:1110         CLOSE_WAIT      2992 
TCP    127.0.0.1:1324         127.0.0.1:1110         CLOSE_WAIT      2992 
可见80端口被PID 为2544的进程占用了。 

用tasklist 命令: 
图像名                       PID 会话名           会话#       内存使用 
========================= ====== ================ ======== ============ 
System Idle Process            0 Console                 0         28 K 
System                         4 Console                 0        264 K 
WebThunder.exe              2544 Console                 0     12,120 K 
java.exe                    2884 Console                 0      6,296 K 
tasklist.exe                3464 Console                 0      4,372 K 
可见2544是WebThunder.exe进程。将其关闭。重启TOMCAT。OK! 

我用这种方法查得是一个python.exe的进程占用了端口继而查到原来是plone程序占用了8080端口。于是关闭即可。

ActiveMQ 启动报错 Address already in use: JVM_Bind 5672

ActiveMQ 启动报错 Address already in use: JVM_Bind 5672


解决方案:


出现这个错误,据表达就是 端口地址已经被使用了。

那么你只需要关掉使用的端口服务即可。

 

那么 我们需要知道  ActiveMQ 在启动的时候涉及到的几个端口,

在conf文件夹里的 activemq.xml 文件里,这几个都是涉及到的端口:

 

比如我在一台机器上,启动  ActiveMQ 启动报错  Address already in use: JVM_Bind xxxxx 5672

原因是这台机器上的amqp 5672端口 已经被另一个服务使用到了,就是rabbitmq,把rabbitmq服务暂时停了,运行ok。

那么跟这一类报错有关的,也一样解决方式,把占用端口的服务停掉即可。

Address already in use: JVM_Bind 端口被占用的解决办法

Address already in use: JVM_Bind 端口被占用的解决办法

假设端口为 8082

1. 查找端口进程,手动杀死进程

启动 cmd,  执行命令 netstat -ano|findstr  xxxx (使用端口号)    会查询出占用端口号的进程号。

netstat -ano|findstr  8082

会查询出占用端口号的进程号,这时候执行命令  taskkill -f -pid 23072 杀死进程,然后重启 Tomcat 即可解决

 

Address already in use: JVM_Bind问题的解决

Address already in use: JVM_Bind问题的解决

tomcat一般出现Address already in use: JVM_Bind的问题,可能是端口冲突,也就是端口被占用了。

 

这个可能是其他应用程序使用了同一个端口(默认是8080),也可能是你启动过tomcat,进程还没有被kill掉。

 

 

不管是哪种情况,我们都可以按照如下方式来处理:

如果是windows系统,打开控制台,输入:

 

netstat -ano


来查看现在端口被那个进程占用,找到pid

 

 

然后手动删除这个进程就可以了:

 

taskkill /f /pid 8036

 

其中8036是占用端口的进程号pid

 

如果是Linux系统:

查找端口占用也有类似的命令:

 

netstat -apn


 

 

kill进程:

 

kill -s 9 13279

其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。13279则是进程号pid

今天关于已使用的地址:JVM_Bind javajava 地址已在使用的分享就到这里,希望大家有所收获,若想了解更多关于80端口占用异常解决方法java.net.BindException: Address already in use: JVM_Bind:80(或8080)、ActiveMQ 启动报错 Address already in use: JVM_Bind 5672、Address already in use: JVM_Bind 端口被占用的解决办法、Address already in use: JVM_Bind问题的解决等相关知识,可以在本站进行查询。

本文标签: