IDEA报错: Port already in use: 2100
idea使用过程中,电脑原因突然卡死闪退,再次运行web项目报错如标题。
执行:netstat -ano | findstr “2100“找出占用此端口的为java.exe、推测可能是当时正在运行程序,idea闪退并没有正常关闭程序,导致java.exe在后台运行。
因此解决的办法显而易见,taskkill /f /t /im java.exe
这里记一下关于java.exe同胞兄弟。
javaw.exe是启动eclipse使用的,也就是启动java应用存在的。它的师兄弟有还有java.exe和javaws.exe,三位的都是启动java应用的。三者的区别如下:
javaw.exe主要用于启动基于GUI的应用程序。
java.exe执行应用日志再在控制台显示输出与错误信息。
javaws.exe是用来启动通过web来描述的项目,我们需要一个jnlp文件,来描述javaws.exe需要运行的程序。
安装了jdk之后,电脑中会出现三个javaw,一个在jdk文件下的bin中,一个在jdk同目录的jre中,一个在windows/system32中,当然这三个目录中还有三个java.exe和javaws.exe。那我们的程序会使用哪一个javaw来运行我们的程序呢。如果程序的配置文件中可以指定的,就用指定的。使用的就是我们在环境变量中配置的,path下的,顺序靠前的那一个bin下的程序。
使用javaw.exe时,会使用jre,它使用的jre如下,(1)java.exe当前目录寻找.(2)java.exe父目录下寻找.(3)寻找注册表下面,里面的路径是哪个就找哪个。找到jre之后,如果java.exe与jre的版本一致,就会执行。jvm是jre的一部分,jre是jvm的补充,jvm就在jre/bin目录下,server文件中的jvm.dll。jdk中的jre主要供给jdk本身使用.jdk旁边的jre就是jre安装时,放在注册表路径中的jre,供给其他程序使用。
参考文档:https://blog.csdn.net/xuaman/article/details/77206620
还没有评论,来说两句吧...