IntelliJ IDEA Gradle同步:将Gradle的Java主页设置为某些JDK时出现问题

时间:2018-12-31 16:55:32

标签: java gradle intellij-idea

我没问题:

  1. org.gradle.java.home=C:/Program Files/Java/openjdk1.8.0_202

在我的(全局)gradle.properties文件中。同样,没有它也没有问题(未设置任何内容)。但是,如果将其替换为以下配置之一(所有路径均有效):

  1. org.gradle.java.home=C:/Program Files/Java/openjdk-9.0.4
  2. org.gradle.java.home=C:/Program Files/Java/openjdk-10.0.1
  3. org.gradle.java.home=C:/Program Files/Java/openjdk-11.0.1
  4. org.gradle.java.home=C:\\Program Files\\Java\\oraclejdk-11.0.1

然后我在 IntelliJ IDEA 中保存文件并导入Gradle更改后,会收到错误消息(每个消息都相同):

  

无法启动守护进程。   此问题可能是由守护程序的错误配置引起的。   例如,使用了无法识别的jvm选项。   请在https://docs.gradle.org/5.0/userguide/gradle_daemon.html

上查看守护程序的用户指南一章。      

请阅读以下过程输出以了解更多信息:

     

OpenJDK 64位服务器VM警告:忽略选项MaxPermSize;在8.0中删除了支持   错误:找不到或加载主类java.base.java.lang = ALL-UNNAMED   由以下原因引起:java.lang.ClassNotFoundException:java.base.java.lang = ALL-UNNAMED


请注意,此问题仅适用于 IDE Gradle同步。 Gradle任务本身可以正常运行(独立于IDE)!即使我运行gradle --status(请参阅here)也可以看到一切正常,并且守护程序正在使用JDK 11运行:

>gradlew --status
   PID STATUS   INFO
 10668 IDLE     5.0

PID: 10668的路径:

>wmic process where "processId=10668" get Name, ProcessID, ExecutablePath
ExecutablePath                                     Name      ProcessId
C:\Program Files\Java\openjdk-11.0.1\bin\java.exe  java.exe  10668

1 个答案:

答案 0 :(得分:3)

最后,我发现问题出在我的IDE设置中。它来自 SDK表

我不知道为什么从Project Structure(或Structure for new Projects中的Other Settings)进行更正无法解决问题。最后,我从一个全新的安装导入(并且只有它)。


注意:您实际上不需要全新安装。刚好足以关闭您的IDE,重命名its configuration directory并重新打开它。

然后,IDE重新启动。这是测试的机会。如果确定,则导出指向的设置... 文件 -> 导出设置...

enter image description here

到文件。然后返回到先前的状态并导入导出的文件:

enter image description here

如果问题恢复,则需要检查其他设置( SDK表除外)。