web-dev-qa-db-ja.com

JVMターゲット1.8でビルドされたバイトコードを、JVMターゲット1.6でビルドされているバイトコードにインライン化できません

IntelliJを介してサンプルCorDapp( https://github.com/corda/cordapp-example )を実行しようとすると、次のエラーが表示されます。

JVMターゲット1.8でビルドされたバイトコードを、JVMターゲット1.6でビルドされているバイトコードにインライン化できません

すべてのバイトコードが同じJVMターゲットでビルドされるようにIntelliJ設定を変更するにはどうすればよいですか?

109
Joel

この問題は次のように修正できます。

  • IntelliJ設定を開きます
  • Build, Execution, Deployment> Compiler> Kotlin CompilerBUTOther Settings> Kotlin compiler if Android St​​udio>に移動します。 3.4
  • Target JVM version1.8に変更します
  • Applyをクリックします
102
Joel

app/build.gradle

Android {
    ...
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

GL

ソース

139
CORONEL Braian

build.gradleで次のように構成する必要があります

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}
55
Amuthan

他のソリューションが機能しなかった場合(コンパイラ設定でJVMバージョンを変更し、build.gradlejvmTargetを追加)、.imlファイルが構成を強制しようとするため、プロジェクト設定からターゲットプラットフォーム。

  • File > Project Structureを開きます
  • Project Settings の下のFacetsに移動します。
    • 空の場合は、小さい+ボタンをクリックします
  • Kotlinモジュールをクリックします
  • Target PlatformJVM 1.8に変更します(また、Use project settingsオプションをチェックすることをお勧めします)
53
Saeed Masoumi

Kotlin Webサイトの sing-maven ドキュメントに記載されているとおり:

<kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>をpom.xmlのプロパティセクションに配置するだけです。

16
Johan Vergeer

Android St​​udio 4.3.2では、以下の手順による追加は機能しません。

  1. IntelliJ設定を開きます
  2. Build、Execution、Deployment>Compiler>Kotlin CompilerBUT Otherに移動します設定> Android St​​udio> 3.4の場合、Kotlinコンパイラー
  3. Target JVM versionを1.8に変更します
  4. 適用をクリックします

理由は、Android studioがモジュールレベルのGradleファイルに以下のコードを追加できないためです。手動で追加してください。

kotlinOptions {
    jvmTarget = "1.8"
}

アドオンについては、Androidスタジオ検索でターゲットJVMバージョンを検索します。オプションに直接移動します。 enter image description here

15

私の理由は、私のビルドグラドルのこの構成はいくつかのモジュールにあり、いくつかのモジュールにはなかった

Android {  
...      
kotlinOptions {
        val options = this as KotlinJvmOptions
        options.jvmTarget = "1.8"
    }
...
Android {
6

Kotlin言語(*.gradle.ktsファイル)を使用するGradleの場合、これを追加します。

Android {
    [...]
    kotlinOptions {
        this as KotlinJvmOptions
        jvmTarget = "1.8"
    }
}
6
Kevin Robatel

a picture is worth a thousand words

写真は千の言葉に値する

4
Ahmed D. Sherif

Kotlinプラグインをダウンロードしたと仮定してEclipseを使用する場合:

プロジェクトを右クリック->プロパティ-> Kotlin Compiler->プロジェクト固有の設定を有効にする-> JVMターゲットバージョン「1.8」

1
Invest

Kotlin拡張機能でVisual Studio Code **を使用している場合は、プラグイン管理Crtl + Shift + xに移動し、kotlinと入力して、管理(小さなギア)>>拡張設定の構成をクリックします

kotlin >>コンパイラ>> Jvm:Targetで-Javaバージョンを入力します。私の状況では、1.8と入力しました

そして、再起動します:-)

** vscodeまたはLinuxの単なる「コード」

0
Hinotori