gradle无法使用工具链:“ JDK 81.8”来定位平台:“ Java SE 11”

问题描述

  • 我正在按照installation guide建造吉德拉。 一切顺利,直到我得到here
  • 一旦我致电$ gradle buildGhidra,就会出现以下错误
> Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'

这似乎很奇怪,因为我 do 拥有Java 11:

$ java --version
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1,mixed mode,sharing)

我想念什么?

解决方法

Gradle使用您的JAVA_HOME环境变量中定义的Java发行版-它不会查看您路径中的Java可执行文件。因此,请确保该变量指向有效的JDK 11路径。您可以通过运行gradle --version(例如

)来验证其设置是否正确
$ echo %JAVA_HOME%
C:\Work\JDKs\jdk-11.0.8+10


$ gradle --version

------------------------------------------------------------
Gradle 6.6
------------------------------------------------------------

Build time:   2020-08-10 22:06:19 UTC
Revision:     d119144684a0c301aea027b79857815659e431b9

Kotlin:       1.3.72
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM:          11.0.8 (AdoptOpenJDK 11.0.8+10)
OS:           Windows 10 10.0 amd64

(请注意上面的JVM部分。)

,

您正在使用IDE吗?确保在Gradle设置中,Gradle使用与项目相同的Java版本,可以在Intellij https://www.jetbrains.com/help/idea/gradle-jvm-selection.html#jdk_existing_project

中轻松配置它 ,

尝试通过Intellij使用gradle构建时遇到了这个问题。

就我而言,我在Intellij中安装并配置了两个JDK的JDK1.8和JDK 11。 对于Gradle,它将JDK1.8作为默认JVM。 我使用以下步骤解决了这个问题:

  1. 打开Intellij
  2. 转到设置
  3. 转到构建执行部署->构建工具-> gradle
  4. 搜索gradle JVM。将其更改为所需的JVM
  5. 尝试重建应用
,
  • 原来,gradle 归咎于所有人。
  • 可能与this post类似,我已升级到gradle-6.7
  • 然后,调用gradle-6.7 --version不进行任何JAVA_HOME更改,我得到了:

------------------------------------------------------------
Gradle 6.7-rc-3
------------------------------------------------------------

Build time:   2020-09-30 19:16:51 UTC
Revision:     836e96a80625c9c48b612e662e3b13bd2e2f4c3b

Kotlin:       1.3.72
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM:          11.0.8 (Ubuntu 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
OS:           Linux 5.4.0-48-generic amd64

可能“证明” gradle的确是应受的责任