gradle - IntelliJ 无法导入 gradle 项目
问题描述
IntelliJ 无法导入我的 Gradle 项目。
构建窗口显示恶魔在右侧启动,在左侧仅显示
<project-name> failed <timestamp>
确实没有解决任何依赖关系,也没有设置源文件夹。
我该如何调试/修复这个?
解决方案
第一步应该是在命令行上构建项目并确保它可以工作。
然后找到 IntelliJ 的日志文件:Help -> Show Log in Finder
does it for me on Mac OS,我猜其他平台上也有类似的东西。
我的日志显示:
2021-03-16 11:08:31,370 [222013096] INFO - .project.GradleProjectResolver - Gradle project resolve error
org.gradle.tooling.GradleConnectionException: Could not run phased build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-6.8.3-bin.zip'.
at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:55)
at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:43)
at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:69)
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:834)
Caused by: org.gradle.launcher.daemon.client.DaemonConnectionException: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch:
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=/Users/jschauder/.sdkman/candidates/java/current,daemonRegistryDir=/Users/jschauder/.gradle/daemon,pid=981,idleTimeout=null,priority=NORMAL,daemonOpts=-Dfile.encoding=UTF-8,-Duser.country=GB,-Duser.language=en,-Duser.variant]
Actual: DefaultDaemonContext[uid=ad74fb8f-4b76-4109-9780-e222fddedd94,javaHome=/Users/jschauder/.sdkman/candidates/java/8.0.282-zulu/zulu-8.jdk/Contents/Home,daemonRegistryDir=/Users/jschauder/.gradle/daemon,pid=89910,idleTimeout=10800000,priority=NORMAL,daemonOpts=-Dfile.encoding=UTF-8,-Duser.country=GB,-Duser.language=en,-Duser.variant]
重要的部分是:
Wanted: DefaultDaemonContext[uid=null,javaHome=/Users/jschauder/.sdkman/candidates/java/current,daemonRegistryDir=/Users/jschauder/.gradle/daemon,pid=981,idleTimeout=null,priority=NORMAL,daemonOpts=-Dfile.encoding=UTF-8,-Duser.country=GB,-Duser.language=en,-Duser.variant]
Actual: DefaultDaemonContext[uid=ad74fb8f-4b76-4109-9780-e222fddedd94,javaHome=/Users/jschauder/.sdkman/candidates/java/8.0.282-zulu/zulu-8.jdk/Contents/Home,daemonRegistryDir=/Users/jschauder/.gradle/daemon,pid=89910,idleTimeout=10800000,priority=NORMAL,daemonOpts=-Dfile.encoding=UTF-8,-Duser.country=GB,-Duser.language=en,-Duser.variant]
即 gradle 恶魔使用与 IntelliJ 期望的不同的 JDK 运行。
要解决这个问题,你
- 进入 Intellij 的偏好,
- 搜索“gradle”
- 并找到“Gradle JVM”设置并使用日志中“Actual”行中的 JDK 路径。就我而言
/Users/jschauder/.sdkman/candidates/java/8.0.282-zulu/zulu-8.jdk/Contents/Home
之后,导入项目工作得很好。
推荐阅读
- python - 在 Python 中合并数据框时出现内存错误
- php - 如何在 PHP 中使用键作为序数元素将元素添加到数组中
- python-3.x - 如何显示从原始年份开始到 2025 年的所有生日
- javascript - JavaScript 点击功能不会立即在 IE 上触发 JSF 操作方法
- outlook - 我如何将按钮添加到主菜单而不是消息内
- cucumber-jvm - 我们是否总是需要一个单独的运行器类来进行黄瓜测试?
- android - 在列表视图中,我单击音频开始,但是当我滚动时,我看到其他音频也盯着看
- nightwatch.js - `page_objects_path` 字段在 nightwatch.config.js 中不起作用
- reactjs - jest-dom 中的 toHaveFocus 行为
- javascript - 如何导出功能?