【发布时间】:2022-06-12 18:59:45
【问题描述】:
我正在使用(几乎)最新的 Intellij Ultimate 2022.1.1(与最新的 VS Code 相同)和 JDK 8 和 maven 3.6.3(无法升级)
执行 Maven 构建(作为编译/打包)时失败(例如编译错误)
我无法重新运行,因为 java.exe 进程仍在使用端口 1100,我必须手动终止
作为一种解决方法,我在命令行中动态终止进程
FOR /F "tokens=5 delims= " %P IN ('netstat -a -n -o ^| findstr :1100') DO TaskKill.exe /F /PID %P
jps 输出:
RMI Registry not available at 11808:1099
Exception creating connection to: 11808; nested exception is:
java.net.SocketException: Network is unreachable: connect
**编辑**
问题是由于环境变量MAVEN_OPTS jmxremote.port 1100 用于activate JMX for JConsole
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1100
【问题讨论】:
-
您的构建是否在普通命令行中工作?为什么java进程使用1100端口?由哪一个?
-
哪个进程执行maven构建?你的意思是从 IntelliJ 内部?您使用哪个版本的 IntelliJ?您使用哪个版本的 Maven、JDK 等?此外,错误消息也会有所帮助...
-
默认情况下,您的 Maven 构建应该不需要任何网络端口。听起来好像在构建期间正在运行测试。
-
为什么要使用旧的 Maven 版本? 3.6.3 ???在 IntelliJ 2022.1.1 中,默认情况下是 Maven 3.8.1 ...此外,是的,默认情况下不应使用任何端口...听起来您的一个测试正在使用端口?您是否通过 WebMVC 或类似方式进行了 Spring Boot 测试?
-
仔细看看卡在哪里。您可以在命令行中使用
jps来定位您想了解的旧进程