2015-10-20 428 views
0

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

我已清理我的用户主目录中的.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 

回答

1

不能确定您的方案(约IBM JDK),但每当守护程序,或者在一般的任何其他方面完全工作的身材,突然停止工作对我来说,我要做两件事情。

  1. gradle myTask --no-daemon运行为了不守护建设,以确保如果它确实是有守护的一个问题。

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

有谨慎的关于在gradle docs使用Windows守护进程一句话:

也可以通过运行动摇守护进程(和一般的建设环境)建立不释放资源正确。在使用Microsoft Windows时,这是一个特别棘手的问题,因为它对读取或写入后无法关闭文件的程序的宽容度较小。

+0

感谢您的回复。当我试图运行gradle - 没有守护进程时,它可以工作。 gradle - 停止停止守护进程但不能解决问题。我仍然需要使用--no-daemon。 Oracle JDK现在也出现这种情况。它昨天,今天重新启动我的机器后,它给出了同样的问题。 –

+0

所以这个问题不是用jdk或你的构建脚本。它是Windows上可能不稳定的Windows上的gradle守护进程。你能否看到你的代码是否正确释放文件(在'finally'块中)。您可以创建示例项目复制问题并在此处记录问题:https://issues.gradle.org/ – kunal