迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

修复 Java 中 Java.Net.BindException: Address Already in Use: Bind 错误

作者:迹忆客 最近更新:2023/07/13 浏览次数:

本篇文章介绍了 Java 中的 java.net.BindException:Address already in use: Bind 错误。


修复Java 中的 java.net.BindException:Address already in use: Bind

当一个端口被多个应用程序使用时,会出现错误 java.net.BindException: Address already in use: Bind,因为它还在错误中指出该地址已在使用中。 该异常表明其他进程已使用您尝试使用的端口。

为了解决这个错误,我们可以在另一个端口上运行我们的服务器,或者杀死该端口上的先前进程。 为了解决这个问题,我们必须知道给定端口上正在运行哪些进程。

查找端口上的冲突进程

如果您的端口发生 java.net.BindException: Address already in use: Bind 错误,那么您可以找到端口上正在运行的其他进程。 我们可以使用 netstat 命令来了解当前的TCP/IP连接情况。

下面是 netstat 针对不同平台的使用。

Windows:

比如我们的端口是8080; 在 Windows 中,netstat 命令的输出将在最后一列中为我们提供在端口 8080 上运行的进程的进程 ID。请参阅命令:

netstat -ano | find "8080"

该命令的输出是:

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345

进程 12345 正在端口 8080 上运行。

Mac OS:

对于 Mac OS,该命令与 netstat 不同。 我们使用 lsof 来检查给定端口上运行的进程,而不是 netstat。

查看命令:

lsof -t -i:8080

此命令的输出将仅显示进程 ID。

12345

Unix/Linux:

Linux/Unix 的命令是:

netstat -an | grep "8080"

这里的输出也将与 Windows 类似,并且可以类似地读取。

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345

进程 12345 正在端口 8080 上运行。

以下是解决 java.net.BindException: Address already in use: Bind 的两种解决方案: 地址已在使用:绑定常。


解决方案 1:在不同端口上运行服务器

解决此异常的一种方法是在另一个端口号上运行该进程。 一旦我们知道之前的端口上是否有其他进程正在运行,我们就可以将该进程转移到另一个端口。

例如,如果您使用 Tomcat,则以下是更改服务器端口的分步过程。

  • 打开 Tomcat 目录,然后打开 conf 文件夹。
  • 在记事本或任何其他文本编辑器中编辑 server.xml。
  • 现在用新的端口号替换连接器端口。 它看起来像这样:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

更改端口后:

<Connector port="8880" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

一旦服务器转移到另一个端口号,错误java.net.BindException:地址已在使用:绑定将得到解决。


解决方案2:终止上一个进程

通过杀死端口上已经运行的进程,我们可以在其上运行我们的进程,并且错误 java.net.BindException: Address already in use: Bind 将得到解决。

我们可以运行命令来杀死进程,但是不同平台的命令也不同。

Windows:

taskkill /F /PID 12345

Mac OS:

kill -9 12345

Unix/Linux:

kill - 12345

上述命令可以针对不同平台杀死当前端口上的进程。 杀死进程后,我们可以在当前端口上运行我们的进程,错误 java.net.BindException: Address already in use: Bind 就会得到解决。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Java 错误 Java.Security.InvalidKeyException: Illegal Key Size

发布时间:2023/07/15 浏览次数:98 分类:Java

本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。

Java 中错误 Unsupported Major Minor Version

发布时间:2023/07/14 浏览次数:68 分类:Java

出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。

Java 中 Could Not Find Java SE Runtime Environment 错误

发布时间:2023/07/14 浏览次数:149 分类:Java

当安装了运行时环境时,即 Java 找不到主 java.dll 文件时,可能会出现“Could not find Java SE Runtime Environment”错误。 本篇文章介绍如何解决 Java 中的“Could not find Java SE Runtime Environment”错误。

修复 Java 错误 java.io.IOException: Stream Closed

发布时间:2023/07/14 浏览次数:121 分类:Java

本篇文章我们将找出在 Java 编程中编码时产生 java.io.IOException: Stream Closed 错误的可能原因。 我们还将借助代码示例探索两种可能的解决方案来修复此错误。

Java中 the method is undefined for the type 错误

发布时间:2023/07/14 浏览次数:102 分类:Java

本篇文章介绍了 Java 的 the method is undefined for the type 错误。Java 错误 method is undefined for the type 每当我们尝试调用当前类中未定义的方法时,就会出现该类型未定义方法的错误。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便