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任务
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项目.这些是步骤:
JAVA_HOME指向JDK 8(之前是第7个),因为我通过实验得知Gradle Wrapper只能用JDK 8处理项目.org.gradle.java.home变量),因为,我猜,它没有为Gradle带来任何额外的值.由于我不得不编译具有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)