Gradle - 无法定位平台:'Java SE 8'使用工具链:'JDK 7(1.7)'

Vas*_*sov 33 java intellij-idea gradle

我正在尝试使用本地Gradle distrib导入Intellij Idea中的Gradle项目并使用以下消息获取stacktrace : Could not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'. 有人可以解释一下原因是什么?

小智 70

对于 IntelliJ 2019:

Intellij IDEA -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM

选择正确的版本。


Mah*_*esh 61

这对我有用(Intellij Idea 2018.1.2):

1)导航到:文件 - >设置 - >构建,执行,部署 - >构建工具 - > Gradle

2)Gradle JMV:更改为1.8版

3)重新运行gradle任务

  • IntelliJ 2018.1.6(社区版)中没有此类选项 (4认同)
  • 在Mac上,导航到“ IntelliJ Idea”->“首选项”->“构建,执行,部署”->“构建工具”->“ Gradle” (4认同)
  • 我又遇到了这个问题...在我已经投票过一次之后谁知道多久以前...++ (3认同)

Ahe*_*ire 38

对于 IntelliJ 2019、JDK 13 和 gRPC:

Intellij IDEA -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM

选择正确的版本

您可能还必须在 build.gradle依赖项中添加以下行

compileOnly group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
Run Code Online (Sandbox Code Playgroud)


Vas*_*sov 14

最后我导入了我的Gradle项目.这些是步骤:

  1. 我从本地Gradle distrib切换到Intellij Idea Gradle Wrapper(gradle-2.14).
  2. 我将系统变量JAVA_HOME指向JDK 8(之前是第7个),因为我通过实验得知Gradle Wrapper只能用JDK 8处理项目.
  3. 我在Windows用户.gradle目录中删除了先前手动创建的文件gradle.properties(带 org.gradle.java.home变量),因为,我猜,它没有为Gradle带来任何额外的值.

  • 在Eclipse中我也有这个问题,因为我的系统将JAVA_HOME env变量设置为JDK7(运行`echo $ JAVA_HOME`来检查).在系统范围内更改JAVA_HOME或使用`JAVA_HOME =/path/to/jdk8 eclipse`启动eclipse以缓解此问题 (2认同)

Xtr*_*oce 5

由于我不得不编译具有7兼容性的某些源代码,因此由于某些遗留系统而遇到了同样的问题。我发现在gradle配置中有两个选项设置为Java 8

sourceCompatibility = 1.8
targetCompatibility = 1.8
Run Code Online (Sandbox Code Playgroud)

将这些切换到1.7对我来说解决了问题,使JAVA_HOME指向已安装的JDK-7

sourceCompatibility = 1.7
targetCompatibility = 1.7
Run Code Online (Sandbox Code Playgroud)


小智 5

我有一个非常相关的问题,但对于更高的 Java 版本:

$ ./gradlew clean assemble

... <other normal Gradle output>

Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
Run Code Online (Sandbox Code Playgroud)

我注意到使用 InteliJ 运行时任务成功。添加一个名为 build.gradle 的文件(与 build.gradle 相同).java-version解决了我的问题:

 # .java-version
 11.0.3
Run Code Online (Sandbox Code Playgroud)


Yas*_*iri 5

您必须更改 build.Gradle 中的 -> sourceCompatibility = '1.7'