Grails:初始化classpath: null错误



我有两台电脑(工作用和家用),都是:

Debian Bookworm (testing)

$ grails——version

| Grails Version: 5.2.0

| JVM版本:11.0.15

设置JAVA_HOME, JDK_HOME和JRE_HOME。GRAILS_HOME设置在PATH

中尝试在工作的计算机上运行一个新创建的Grails应用程序,我得到一个讨厌的堆栈跟踪:

$ grails create-app v5_2_0
| Application created at .../v5_2_0
$ cd v5_2_0
$ grails run-app --stacktrace --verbose
| Error Error initializing classpath: null
java.net.SocketTimeoutException
at java.base/sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:129)
at org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.tryConnect(TcpOutgoingConnector.java:81)
at org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.connect(TcpOutgoingConnector.java:54)
at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToDaemon(DefaultDaemonConnector.java:274)
at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToDaemonWithId(DefaultDaemonConnector.java:260)
at org.gradle.launcher.daemon.client.DefaultDaemonConnector.doStartDaemon(DefaultDaemonConnector.java:227)
at org.gradle.launcher.daemon.client.DefaultDaemonConnector.startDaemon(DefaultDaemonConnector.java:216)
at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connect(DefaultDaemonConnector.java:138)
at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:144)
at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:98)
at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:44)
at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:30)
at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:60)
at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:37)
at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:222)
at org.gradle.tooling.internal.provider.ProviderConnection.runClientAction(ProviderConnection.java:168)
at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:158)
at org.gradle.tooling.internal.provider.DefaultConnection.run(DefaultConnection.java:234)
at org.gradle.tooling.internal.consumer.connection.ParameterizedActionRunner.execute(ParameterizedActionRunner.java:36)
at org.gradle.tooling.internal.consumer.connection.CancellableActionRunner.run(CancellableActionRunner.java:52)
at org.gradle.tooling.internal.consumer.connection.AbstractConsumerConnection.run(AbstractConsumerConnection.java:69)
at org.gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:56)
at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter$1.run(DefaultBuildActionExecuter.java:81)
at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:144)
at org.gradle.tooling.internal.consumer.connection.CancellableConsumerActionExecutor.run(CancellableConsumerActionExecutor.java:45)
at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:61)
at org.gradle.tooling.internal.consumer.connection.RethrowingErrorsConsumerActionExecutor.run(RethrowingErrorsConsumerActionExecutor.java:38)
at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:67)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.base/java.lang.Thread.run(Thread.java:829)
| Error Error initializing classpath: null

在同样安装的家用电脑上,一切都运行良好。

我的第一印象是第一台电脑的java安装有问题,但我不知道是什么问题。

  • 在app目录下的子目录。gradle不会被创建
  • 删除~/。Gradle和~/。m2没用
    • 再次尝试运行应用程序创建~/。gradle(不包含所有子目录),但不包含~/.m2
  • grails clean也会出现同样的错误

谢谢你的提示!

由于某种原因,我的环回接口上接受连接的规则已经从iptables INPUT链中消失了。所以gradle无法连接到它。这个意外发现的优点要归功于Stefan Oehme的答案

谢谢你Stefan!顺便说一句,这也是为什么grovyconsole花了很长时间才出现的原因(尽管它确实出现了)。grovyconsole似乎也试图绑定回送接口。