gradle 命令失败,因为它无法启动守护进程

Rob*_*son 4 java windows gradle

我正在尝试运行 gradle 命令。这最初奏效了。然而,一段时间后它开始失败,因为它无法启动守护进程。我在 Windows 7 Enterprise 上使用 Gradle 2.5 和 IBM jdk 1.6。

我已经清理了用户主目录中的 .gradle 目录并重新启动了我的系统。

这在我朋友机器上的相同版本上运行良好。请帮忙。

org.gradle.api.GradleException:无法启动 Gradle 守护进程。
        在 org.gradle.launcher.daemon.client.DefaultDaemonStarter.startProcess(DefaultDaemonStarter.java:137)
        在 org.gradle.launcher.daemon.client.DefaultDaemonStarter.startDaemon(DefaultDaemonStarter.java:114)
        在 org.gradle.launcher.daemon.client.DefaultDaemonConnector.startDaemon(DefaultDaemonConnector.java:109)
        在 org.gradle.launcher.daemon.client.DefaultDaemonConnector.connect(DefaultDaemonConnector.java:87)
        在 org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:117)
        在 org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:77)
        在 org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)
        在 org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
        在 org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:23
7)
        在 org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:21
0)
        在 org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        在 org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        在 org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        在 org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        在 org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        在 org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        在 org.gradle.launcher.Main.doAction(Main.java:33)
        在 org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
        在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        在 java.lang.reflect.Method.invoke(Method.java:611)
        在 org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        在 org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        在 org.gradle.launcher.GradleMain.main(GradleMain.java:23)
引起:org.gradle.api.UncheckedIOException:java.io.EOFException
        在 org.gradle.launcher.daemon.bootstrap.DaemonStartupCommunication.readDiagnostics(DaemonStartupCommunication.ja
va:100)
        在 org.gradle.launcher.daemon.bootstrap.DaemonGreeter.parseDaemonOutput(DaemonGreeter.java:40)
        在 org.gradle.launcher.daemon.client.DefaultDaemonStarter.startProcess(DefaultDaemonStarter.java:133)
        ……还有 24 个
引起:java.io.EOFException
        在 java.io.DataInputStream.readBoolean(DataInputStream.java:238)
        在 org.gradle.internal.serialize.InputStreamBackedDecoder.readBoolean(InputStreamBackedDecoder.java:47)
        在 org.gradle.internal.serialize.AbstractDecoder.readNullableString(AbstractDecoder.java:53)
        在 org.gradle.launcher.daemon.bootstrap.DaemonStartupCommunication.readDiagnostics(DaemonStartupCommunication.ja
va:85)
        ……还有 26 个

kda*_*bir 7

不确定您的场景(以及 IBM jdk),但是每当守护进程或任何其他正常工作的构建突然停止为我工作时,我会尝试两件事。

  1. gradle myTask --no-daemon 在没有守护进程的情况下运行构建以确保它是否确实是守护进程的问题。

  2. gradle --stop 杀死任何现有的守护进程,然后再次尝试构建。

gradle docs 中有一个关于在 Windows 上使用守护进程的警告:

也有可能通过运行不正确释放资源的构建来破坏守护进程(以及一般的构建环境)。当使用 Microsoft Windows 时,这是一个特别尖锐的问题,因为它对在读取或写入后无法关闭文件的程序不太宽容。