ChatGPT解决这个技术问题 Extra ChatGPT

通过 Gradle 导入项目时发现无效的 JDK 配置

我已经安装了 IntelliJ,我需要导入一个 Gradle 项目。

我已经使用带有 gradlew build 命令的命令提示符构建了 gradle 项目。

在 IntelliJ 欢迎页面,我已按照正确的说明进行操作,当我选择“完成”时。我收到以下错误:

发现无效的 Gradle JDK 配置。打开 Gradle 设置 JAVA_HOME 环境变量未设置。

当我单击“打开 Gradle 设置”时,它会弹出错误消息 Not found with a path under IntelliJ directory in Program files 并在 jre/jre/bin/....等中搜索。


M
Mahdi-Malv

删除 .gradle.idea 可能会解决问题。

所以:

关闭项目

转到项目目录并删除 .gradle 和 .idea

返回并使用 IDE 重新打开项目

这两个必须在您的 PC 上本地生成(但 .idea 的某些内容可能是版本控制的),而不是从远程或其他地方提取的(它们也应该在 .gitignore 中)。

就我而言,原因是这两个文件夹是在另一台计算机上生成的,而我之前打开了一个项目,其中存在这两个文件夹。


为我解决。但是,我需要导入项目而不是打开
太棒了!应该是选择的答案。
嘿!谢谢,在我的情况下,我必须在 Android Studio 中打开项目之前删除这两个文件夹。
创建一个空的 Gradle 项目并没有修复,这个对我有用。
为我工作。请注意,我有 Android Studio 3.6,我在那里做了一个 Gradle SyncBuild,它正在工作,然后一些时髦的错误阻止它谈论我的 IntelliJ 太旧了,我应该在升级到 Android Studio 4.2 后重试。所以我不情愿地进行了升级,然后每次我打开文件夹时都会给我这个错误。做这个答案所说的解决了它。 Tho 在 3.6 中它与 Github/Remote .gradle 和 .idea 文件夹一起工作正常
E
Eliott

刚刚找到解决方案:

创建一个空的 Gradle 项目,然后转到“项目结构”并检查 JDK 的路径(它应该是有效的,如果不是,您可以添加自己的路径)。

然后构建这个空项目,等待完成后,关闭 IntelliJ。

重新启动它并尝试导入/打开您的 Gradle 项目,现在它应该可以工作了。


是的,当您第一次运行 IntelliJ 并尝试直接运行“导入 gradle 项目”向导时,它似乎无法帮助您配置 SDK。但是当你运行“新建 gradle 项目”向导时,SDK 就配置好了。然后您可以取消向导并返回“导入 gradle 项目”向导。
我刚去了New -> Gradle项目。它显示了一个有效的 JDK,那时我关闭了向导。然后,一旦完成索引,我就可以刷新我的 gradle 项目。
这对我不起作用,因为我的 JDK 设置不正确(它在我升级后指向 Java 8 的旧版本)。 @albert-vila-calvo 的回答对我有用。
这对我有用!无效缓存/重新启动不起作用。在创建一个空的 gradle 项目并回到我的 springboot 项目后解决了这个问题。我还检查了“文件->设置”的“Gradle”选项设置为“Gradle(默认)”而不是“Intellij IDEA”。在遇到这个问题之前,我已经通过终端命令“gradle wrapper --gradle-version 6.8.2”升级了 gradle wrapper
真是浪费时间:'(
A
Albert Vila Calvo

您无需创建新项目即可解决此问题。您可以从主窗口(配置 -> 项目默认值 -> 项目结构)执行此操作:

https://i.stack.imgur.com/oWhDb.png

然后,在 SDKs 上,设置适当的 JDK home path

https://i.stack.imgur.com/3LY4o.png

如果您使用的是 Mac,请单击带有 3 个点的按钮并选择文件夹 /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home

我在这里找到了这个:

https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000266650-invalid-gradle-jdk-configuration-found


它为我解决了,但有点不同,第一步......打开项目然后打开项目结构......然后按照这个步骤
C
Community

Mac OS X 解决方案:

我遇到了同样的问题,并通过使用以下命令设置 JAVA_HOME 环境变量来修复它:

launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/

有关如何在 Mac OS X 中设置环境变量的信息,请参阅此答案:Setting environment variables in OS X?


这对我有用,干杯。只需要重新启动 IntelliJ 才能了解那里的环境变量。
我一定是仍在使用 csh 的怪人,但这在 Mac OS X Sierra 上对我有用:setenv `JAVA_HOME /usr/libexec/java_home`。注意:java_home 是一个 command,因此它被包含在反引号中,以便对其进行评估。
s
sadiq rashid

关闭项目转到项目目录并删除

.gradle

。主意

返回并使用 IDE 重新打开项目


a
andrewgazelka

要添加到之前的响应中,如果您想在 Git 中克隆存储库时防止此问题,您只需从 .gitignore 文件中删除 .idea/misc.xml。这包含有关项目 jar 的信息。例如:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectRootManager" version="2" languageLevel="JDK_10" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
</project>

J
Julian Sievers

我最近在导入 Gradle 项目时遇到了同样的问题。诀窍是从 JAVA_HOME 变量中删除引号。因此,我的路径现在只包含普通路径 C:\Program Files\Java\jdk1.8.0_66,而不是 "C:\Program Files\Java\jdk1.8.0_66"


删除 JAVA_HOME 变量周围的引号对我有用。由于中间有空格,其他几个工具和实用程序需要引号,所以我在完成后将空格放回去。谢谢!
M
MnTanProject

就我而言,我只需重新启动 IDE 即可。它会自动下载 Gradle 以适应项目版本。


R
Roman Denisenko

我在新安装的 Windows 操作系统上遇到了同样的问题。我根本没有 JDK,忘记检查它 invalid JDK configuration 。默认情况下,您可以检查项目配置。如果为空 NO_SDK_ProjectStructure 尝试从 Oracle 网站下载 JDK 并配置您的项目结构


S
SinghVatsal01

我的基于 Gradle 的项目在 tomcat 9 上遇到了同样的问题。您可以通过使用以下代码配置 application.properties 文件来轻松纠正问题。

位置 - src/main/resources/application.properties

server.port = 9090

spring.security.user.name= admin

spring.security.user.password= password

f
fury

上述解决方案没有解决我的问题,而根本原因是我从旧系统导入了设置,并且内部 Intellij 配置无效,因为它在 jdk.table.xml 列表中的第一个 jdk 指向了错误的路径。要解决此问题,您应该在 intellij config folder 中找到此文件,然后只需使用编辑器打开它并删除与错误 jdk 版本相关的整个块。


T
TT.

关闭您正在处理的项目,然后创建另一个新项目并构建它,然后关闭它并返回到您的旧项目,它就会工作。


P
Pravesh Singh

在 gradle.properties 上评论这段代码,问题就消失了。

#org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home


您的答案可以通过额外的支持信息得到改进。请edit添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。您可以找到有关如何写出好答案的更多信息in the help center