我试图导入摇篮项目的IntelliJ IDEA与当地摇篮DISTRIB并得到堆栈跟踪与以下消息:Could not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'
。谁能解释一下可能是什么原因?
我试图导入摇篮项目的IntelliJ IDEA与当地摇篮DISTRIB并得到堆栈跟踪与以下消息:Could not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'
。谁能解释一下可能是什么原因?
Answers:
这是对我有用的(Intellij Idea 2018.1.2):
1)导航至:文件->设置->构建,执行,部署->构建工具-> Gradle
2)Gradle JVM:更改为版本1.8
3)重新运行gradle任务
最后,我导入了Gradle项目。这些步骤是:
JAVA_HOME
指向JDK 8(之前是第7个),因为我通过实验发现Gradle Wrapper只能使用JDK 8处理该项目。org.gradle.java.home
变量),因为我猜它没有给Gradle带来任何其他价值。echo $JAVA_HOME
检查)。在整个系统范围内更改JAVA_HOME或使用Eclipse开始JAVA_HOME=/path/to/jdk8 eclipse
缓解此问题
我有一个非常相关的问题,但对于更高版本的Java:
$ ./gradlew clean assemble
... <other normal Gradle output>
Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
我注意到使用InteliJ运行时任务成功。添加一个文件(与build.gradle级别相同)可以.java-version
解决我的问题:
# .java-version
11.0.3
您必须在build.Gradle中更改-> sourceCompatibility ='1.7'
因此,我从其他答案中看到有几种处理它的方法。但是我不相信这一点。它必须减少为一种方式。我喜欢IDE,但是,如果我遵循不同答案提供的IDE步骤,我知道这不是基本的代数。我的错误看起来像:
* What went wrong:
Execution failed for task ':compileJava'.
> Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
科学地解决它的方法是:
vi build.gradle
更改为:
java {
sourceCompatibility = JavaVersion.toVersion('11')
targetCompatibility = JavaVersion.toVersion('11')
}
成为:
java {
sourceCompatibility = JavaVersion.toVersion('8')
targetCompatibility = JavaVersion.toVersion('8')
}
科学的方法是公开讨论并处理共同点的方法。