53642


以下のスクリーンショット中央の通り、KotlinをJVMにコンパイルする際のターゲットのバージョンを1.8に指定しています。  
<https://gyazo.com/5409c539d0d5fbee08d2806519a3e0ec>

この状態で、IntellijのGradleのアイコンからタスク `assemble`を起動しています。  
しかし、実際にはターゲットに1.6が指定されているらしく、以下の通り失敗してしまいます。

[code]

    > Task :compileKotlin FAILED
    e: ***/src/infrastructure/AwsSesClient.kt: (10, 28): Calls to static methods in Java interfaces are prohibited in JVM target 1.6. Recompile with '-jvm-target 1.8'
    
    FAILURE: Build failed with an exception.
    
[/code]

代わりに、build.gradleに以下の通り設定したらコンパイルが成功するようになりました。

[code]

    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }
    
[/code]

Intellijの設定が機能していない理由について、ご存知の方がいらっしゃいましたらご助言いただけないでしょうか？  
環境は以下の通りです。

[code]

    IntelliJ IDEA 2018.3.5 (Community Edition)
    Build #IC-183.5912.21, built on February 26, 2019
    JRE: 1.8.0_152-release-1343-b28 x86_64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    macOS 10.14.3
    
    kotlin_version=1.3.20
    
[/code]


CC BY-SA 4.0
2019-03-22T01:42:48.993
53635
2019-03-22T03:39:53.343
26110
question
java kotlin intellij-idea
Intellij IDEAで、Kotlin Compilerの設定が反映されない


理由は分かりませんが、以下のページを見ると、build.gradleに設定を追加しないと駄目っぽいですね（IntelliJのバグかもしれません）。

<https://stackoverflow.com/questions/48601549/why-kotlin-gradle-plugin-cannot-
build-with-1-8-target>

> For Android projects, the Kotlin compiler target JVM version needs to be
> changed in build.gradle, not in the Android Studio preferences.


CC BY-SA 4.0
2019-03-22T03:39:53.343
53642
2019-03-22T03:39:53.343
21092
53635
answer