Pycharm 2020.3 - Internal Error - java.net.BindException: Address already in use: bind - Windows 10

当Pycharm启动失败,显示`java.net.BindException: Address already in use`错误时,通常是由于端口冲突导致。通过管理员权限运行命令行,执行`net stop winnat`停止服务,然后重新启动Pycharm,如果问题依旧,再运行`net start winnat`启动服务,可以解决端口冲突问题。此方法简单有效,避免了频繁重装软件。

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

Pycharm启动失败原因

遇到这个问题两次了,上次出现的时以为是版本问题所以重装了Pycharm,鬼使神差居然修好了…
今天又出现这个问题的时候第一反应又准备重装,但是想着老这样也不是个办法,所以去Google了一下还真有遇到同样问题的(之前一直以为是因为我在应用内部升级之后本地安装文件夹名字依旧是先前的老版本名字导致的启动失败,所以没想着深究就重装了,看来没有无缘无故的恨啊…)。仔细观察报错的信息可以看到是java.net的问题,主要是端口发生了冲突:
java.util.concurrent.CompletionException: java.net.BindException: Address already in use: bind
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
at java.base/java.util.concurrent.CompletableFuture A s y n c S u p p l y . r u n ( C o m p l e t a b l e F u t u r e . j a v a : 1702 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r . r u n W o r k e r ( T h r e a d P o o l E x e c u t o r . j a v a : 1128 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r AsyncSupply.run(CompletableFuture.java:1702) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor AsyncSupply.run(CompletableFuture.java:1702)atjava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)atjava.base/java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1 1. r u n ( E x e c u t o r s . j a v a : 668 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . E x e c u t o r s 1.run(Executors.java:668) at java.base/java.util.concurrent.Executors 1.run(Executors.java:668)atjava.base/java.util.concurrent.ExecutorsPrivilegedThreadFactory$1 1. r u n ( E x e c u t o r s . j a v a : 665 ) a t j a v a . b a s e / j a v a . s e c u r i t y . A c c e s s C o n t r o l l e r . d o P r i v i l e g e d ( N a t i v e M e t h o d ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . E x e c u t o r s 1.run(Executors.java:665) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.util.concurrent.Executors 1.run(Executors.java:665)atjava.base/java.security.AccessController.doPrivileged(NativeMethod)atjava.base/java.util.concurrent.ExecutorsPrivilegedThreadFactory 1. r u n ( E x e c u t o r s . j a v a : 665 ) a t j a v a . b a s e / j a v a . l a n g . T h r e a d . r u n ( T h r e a d . j a v a : 834 ) C a u s e d b y : j a v a . n e t . B i n d E x c e p t i o n : A d d r e s s a l r e a d y i n u s e : b i n d a t j a v a . b a s e / s u n . n i o . c h . N e t . b i n d 0 ( N a t i v e M e t h o d ) a t j a v a . b a s e / s u n . n i o . c h . N e t . b i n d ( N e t . j a v a : 455 ) a t j a v a . b a s e / s u n . n i o . c h . N e t . b i n d ( N e t . j a v a : 447 ) a t j a v a . b a s e / s u n . n i o . c h . S e r v e r S o c k e t C h a n n e l I m p l . b i n d ( S e r v e r S o c k e t C h a n n e l I m p l . j a v a : 227 ) a t i o . n e t t y . c h a n n e l . s o c k e t . n i o . N i o S e r v e r S o c k e t C h a n n e l . d o B i n d ( N i o S e r v e r S o c k e t C h a n n e l . j a v a : 134 ) a t i o . n e t t y . c h a n n e l . A b s t r a c t C h a n n e l 1.run(Executors.java:665) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: 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:455) at java.base/sun.nio.ch.Net.bind(Net.java:447) at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134) at io.netty.channel.AbstractChannel 1.run(Executors.java:665)atjava.base/java.lang.Thread.run(Thread.java:834)Causedby:java.net.BindException:Addressalreadyinuse:bindatjava.base/sun.nio.ch.Net.bind0(NativeMethod)atjava.base/sun.nio.ch.Net.bind(Net.java:455)atjava.base/sun.nio.ch.Net.bind(Net.java:447)atjava.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)atio.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)atio.netty.channel.AbstractChannelAbstractUnsafe.bind(AbstractChannel.java:550)
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506)
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491)
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:248)
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

于是饮酒乐甚,扣舷而歌之乎找到了intellij官网上相关问题的帖子,下面的讨论也是热火朝天,但是有一个简单的方法引起了俺的注意
操作方法:

  1. 管理员身份启动命令行,输入以下命令:

    net stop winnat

  2. restart pycharm
    手动restart,该怎么开就怎么开

  3. 终端输入如下命令

    net start winnat

本来以为是什么野路子,没想到还真的管用,问题一下子就解决了,究其原因是重启之后winnat占据的端口号发生了改变,冲突解决了!
在这里插入图片描述
记录一下嘿嘿嘿,兴许以后还会用到,非常感谢这位老哥@Machuki Dancan

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值