Gradle消息IOException

6

在使用Gradle执行特定测试套件的代码时,我遇到了以下错误。不理解原因。任何帮助都将不胜感激。

org.gradle.internal.remote.internal.MessageIOException: Could not write '/127.0.0.1:53644'.
        at org.gradle.internal.remote.internal.inet.SocketConnection.flush(SocketConnection.java:121)
        at org.gradle.internal.remote.internal.hub.MessageHub$ConnectionDispatch.run(MessageHub.java:300)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: An existing connection was forcibly closed by the remote host
        at sun.nio.ch.SocketDispatcher.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
        at sun.nio.ch.IOUtil.write(IOUtil.java:51)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
        at org.gradle.internal.remote.internal.inet.SocketConnection$SocketOutputStream.writeWithNonBlockingRetry(SocketConnection.java:259)
        at org.gradle.internal.remote.internal.inet.SocketConnection$SocketOutputStream.writeBufferToChannel(SocketConnection.java:247)
        at org.gradle.internal.remote.internal.inet.SocketConnection$SocketOutputStream.flush(SocketConnection.java:241)
        at org.gradle.internal.remote.internal.inet.SocketConnection.flush(SocketConnection.java:119)

在运行测试时遇到相同的错误。 这是由于测试期间引发的Java异常,最终导致了System.exit()。 经过调试和修复此异常后,一切恢复正常。 - frva
2个回答

0
我在Dropwizard项目中使用gradle时遇到了同样的错误。问题在于单元测试正在使用其自己版本的config.yml文件,而“真正”的config(和应用代码)已被更改,因此不再与测试config.yml匹配。当我修复了测试config.yml时,问题就解决了。我也看到了这个错误发生(在一个Dropwizard项目的gradle构建中再次运行测试任务时),当我有本地docker容器运行时。关闭docker容器解决了这个问题(不知道为什么,但至少发生了两次)。

0

我通过添加两个东西来解决了这个问题:

  1. id "org.flywaydb.enterprise.flyway" version "8.5.2" 添加到 build.gradleplugins
  2. implementation 'mysql:mysql-connector-java:8.0.28' 添加到 build.gradledependencies

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接