intellij-idea - IntelliJ IDEA 的 Gradle 语言级别是如何确定的?

标签 intellij-idea gradle

IntelliJ 附带的 JetGradle 插件显示我的项目存在冲突。它说我的 IDE 语言级别是 1.7,我的 Gradle 语言级别是 1.6。

以下代码为所有内容打印 1.7:

compileJava {
    println project.sourceCompatibility
    println project.targetCompatibility
    println sourceCompatibility
    println targetCompatibility
}

从命令行运行 Gradle 可以正常工作。在 IDEA 中运行它也可以。这两个都使用 1.7 JDK。我的 IDEA 项目和模块也配置为使用 1.7。

当我通过 Gradle 构建脚本导入项目时,版本默认为 1.6。我已将其更改为 1.7。

这个“Gradle 语言级别”是什么,我该如何修改它?

谢谢!

最佳答案

我有一个 java/kotlin 项目。在搞砸之后,我发现如果模块本身或主源集被赋予了正确的语言级别,我在 gradle.build 中应用插件的顺序实际上会受到影响:

plugins {
    id 'org.jetbrains.kotlin.jvm' apply false
    id 'idea'
}
// have to apply in this order to fix idea.module.languageLevel
apply plugin: 'java'
apply plugin: 'org.jetbrains.kotlin.jvm'


sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

idea {
    module {
        jdkName = '1.8'
        languageLevel = new IdeaLanguageLevel("1.8")
    }
}

关于intellij-idea - IntelliJ IDEA 的 Gradle 语言级别是如何确定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14446638/

相关文章:

android - org.junit 无法在 IntelliJ 中解析

java - 我可以在同一个 Maven 项目的源文件中动态生成和引用一个类吗?

android - Android Studio将项目从eclipse导入到Android Studio

java - 迁移到Gradle,但是Gradle信息在项目中给出

intellij-idea - 通过 build.gradle 传递标签,而不是通过 RunCukesSpec

java - IntelliJ IDEA 13 : Formatting Code Style for Java "throw new"

android-studio - 如何在 Android studio 中导入现有项目时设置 gradle home

android - 如何在Android Studio中使用棉花糖

java - 无法从更新的 org.json 包中导入类

android - 更新android studio后出现错误 "Minimum supported Gradle version is 5.1.1. Current version is 4.4.1"