发生内部错误:"TestNG Result Listening Job"。端口值超出范围:-1
An internal error occurred during: "TestNG Result Listening Job". Port value out of range: -1
在 2017 年 1 月 2 日安装 eclipse 更新后,即使之前的工作测试也出现错误:
An internal error occurred during: "TestNG Result Listening Job". Port
value out of range: -1
我用谷歌搜索了如何解决这个问题 - 将 JRE 更新到最新版本 1.8。0_112 并卸载了 TestNG-Maven 集成插件,但仍然出现错误。有人可以帮我解决这个问题吗?
控制台:
java.lang.IllegalArgumentException: port out of range:-1 at
java.net.InetSocketAddress.checkPort(Unknown Source) at
java.net.InetSocketAddress.(Unknown Source) at
java.net.Socket.(Unknown Source) at
org.testng.remote.strprotocol.BaseMessageSender.connect(BaseMessageSender.java:60)
at
org.testng.remote.strprotocol.MessageHub.connect(MessageHub.java:31)
at
org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:105)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)
错误日志:
java.lang.IllegalArgumentException: Port value out of range: -1 at
java.net.ServerSocket.(Unknown Source) at
java.net.ServerSocket.(Unknown Source) at
org.testng.remote.strprotocol.BaseMessageSender.initReceiver(BaseMessageSender.java:127)
at
org.testng.eclipse.ui.TestRunnerViewPart.run(TestRunnerViewPart.java:444)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
谢谢!
我不确定为什么在您的本地无法获得空闲端口:
public static int findFreePort() {
// Nick: either here throws IOException
try (ServerSocket socket = new ServerSocket(0)) {
// Nick: or, here return -1
return socket.getLocalPort();
} catch (IOException e) {
}
return -1;
}
made an update for JRE to the last version 1.8.0_122
您是指 JRE 1.8.0_112(而不是 122)吗?
你有什么杀毒软件会影响代码吗?
或者你能不能把上面的代码放到一个简单的one-class java app中,打印出findFreePort
的return值,如果能重现的话再debug在这个简单的应用程序中?
我恢复了我的 Windows 10 并且没有任何错误了。看起来 Java、Eclipse 或我的代码
都没有问题
这听起来像是Winsock 问题,而不是testNG 本身的问题。你
可以按照以下步骤将 Winsock 安装重置为设置默认值
此 KB article.
中的说明
尝试以下简短步骤:
- 在命令提示符下 运行
netsh winsock reset
- 重启电脑
在 2017 年 1 月 2 日安装 eclipse 更新后,即使之前的工作测试也出现错误:
An internal error occurred during: "TestNG Result Listening Job". Port value out of range: -1
我用谷歌搜索了如何解决这个问题 - 将 JRE 更新到最新版本 1.8。0_112 并卸载了 TestNG-Maven 集成插件,但仍然出现错误。有人可以帮我解决这个问题吗?
控制台:
java.lang.IllegalArgumentException: port out of range:-1 at java.net.InetSocketAddress.checkPort(Unknown Source) at java.net.InetSocketAddress.(Unknown Source) at java.net.Socket.(Unknown Source) at org.testng.remote.strprotocol.BaseMessageSender.connect(BaseMessageSender.java:60) at org.testng.remote.strprotocol.MessageHub.connect(MessageHub.java:31) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:105) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)
错误日志:
java.lang.IllegalArgumentException: Port value out of range: -1 at java.net.ServerSocket.(Unknown Source) at java.net.ServerSocket.(Unknown Source) at org.testng.remote.strprotocol.BaseMessageSender.initReceiver(BaseMessageSender.java:127) at org.testng.eclipse.ui.TestRunnerViewPart.run(TestRunnerViewPart.java:444) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
谢谢!
我不确定为什么在您的本地无法获得空闲端口:
public static int findFreePort() {
// Nick: either here throws IOException
try (ServerSocket socket = new ServerSocket(0)) {
// Nick: or, here return -1
return socket.getLocalPort();
} catch (IOException e) {
}
return -1;
}
made an update for JRE to the last version 1.8.0_122
您是指 JRE 1.8.0_112(而不是 122)吗? 你有什么杀毒软件会影响代码吗?
或者你能不能把上面的代码放到一个简单的one-class java app中,打印出findFreePort
的return值,如果能重现的话再debug在这个简单的应用程序中?
我恢复了我的 Windows 10 并且没有任何错误了。看起来 Java、Eclipse 或我的代码
都没有问题这听起来像是Winsock 问题,而不是testNG 本身的问题。你 可以按照以下步骤将 Winsock 安装重置为设置默认值 此 KB article.
中的说明尝试以下简短步骤:
- 在命令提示符下 运行
netsh winsock reset
- 重启电脑