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

时间:2015-10-20 11:16:29

标签: java windows gradle

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

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

这在我的朋友机器上运行正常,版本相同。 请帮忙。

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

2 个答案:

答案 0 :(得分:2)

不确定您的场景(以及关于IBM jdk)但是无论何时守护进程,或者通常任何其他完美工作的构建,突然停止为我工作,我尝试两件事。

  1. gradle myTask --no-daemon在没有守护进程的情况下运行build,以确保守护进程确实存在问题。

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

  3. gradle docs

    中有关于在Windows上使用守护进程的注意事项
      

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

答案 1 :(得分:0)

我最初使用提供的tar.gz build中的JDK 9.0.4。作为日志输出,我收到:

org.gradle.api.GradleException: Could not start Gradle daemon

在安装JDK 9.0.4的exe installation package之后,完成了错误消息。