IDEA错误java.util.concurrent.CompletionException: java.net.BindException: Address already in use:bind

当IDEA无法启动并出现java.util.concurrent.CompletionException:java.net.BindException:Addressalreadyinuse:bind错误时,这通常意味着IDEA默认使用的端口被占用。可能是由于IDEA未正常关闭或其它程序占用了这些端口。解决方法包括通过管理员权限的cmd运行netshwinsockreset命令重置winsock,或者在必要时执行netstopwinnat和netstartwinnat命令,然后重启电脑以释放端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDEA无法打开,出现java.util.concurrent.CompletionException: java.net.BindException: Address already in use: bind的错误。

今天启动IDEA时候,弹出了"Start Failed"错误提示窗口,关键内容如下:

java.util.concurrent.CompletionException: java.net.BindException: Address already in use: bind

...

Caused by: java.net.BindException: Address already in use: bind

...

这里是错误提示的截图 ↓

 图:IDEA错误窗口截图

遂搜索了一下解决方案,部分内容参考来自以下博客:

  1. Idea无法正常启动问题排查 - 安培昌浩 - 博客园 (cnblogs.com)

  2. IDEA未正确关闭导致Address already in use: bind | 会打篮球的程序猿 (lzhpo.com)

1. 问题分析

根据博客(1),在Itellij IDEA官方论坛有相关问题的解释

it tries to bind on the fires available port between 6942 and 6991,this exception is thrown if IDE was not able to bind on any of the ports in this range

IDE启动时会尝试寻找端口号6942~6991之间的第一个可用端口并进行绑定,如果该范围中(50个端口号)的任何端口都无法绑定,则会报告该异常

根据博客(2),发觉该错误其实就是 IDEA默认端口被占用 的问题。

仔细回忆了一下,我上次使用电脑干了些啥,导致端口绑定失败:

  1. IDEA仍在运行时没正确关闭,就直接点了关机强制结束了(没正常关闭可能导致端口没放开?)
  2. 下载安装了Mysql/Docker容器(可能Hyper-V的启动会占用了端口?)

2. 解决方案

两步走解决这个问题:

1. 通过 管理员身份 运行 命令行窗口(cmd)

 

2. 执行命令 重置 winsock

在cmd窗口中(管理员身份)输入以下命令:

netsh winsock reset

然后就会出现以下显示,示意你必须重启电脑,然后我们重启电脑再打开IDEA就可以了

 

注意:有的朋友此处可能会失败,可以再尝试一下 管理员身份执行以下命令:

net stop winnat

net start winnat

正常启动IDEA,大功告成!

Exception in thread "Thread-23" java.net.BindException: Address already in use: bind at java.base/sun.nio.ch.Net.bind0(Native Method) at java.base/sun.nio.ch.Net.bind(Net.java:461) at java.base/sun.nio.ch.Net.bind(Net.java:453) at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141) at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562) at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334) at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600) at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:579) at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973) at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260) at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:380) at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:166) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:834)
最新发布
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值