IntelliJを介してサンプルCorDapp( https://github.com/corda/cordapp-example )を実行しようとすると、次のエラーが表示されます。
JVMターゲット1.8でビルドされたバイトコードを、JVMターゲット1.6でビルドされているバイトコードにインライン化できません
すべてのバイトコードが同じJVMターゲットでビルドされるようにIntelliJ設定を変更するにはどうすればよいですか?
この問題は次のように修正できます。
Build, Execution, Deployment
> Compiler
> Kotlin Compiler
BUTOther Settings
> Kotlin compiler
if Android Studio>に移動します。 3.4
Target JVM version
を1.8
に変更しますApply
をクリックしますAndroid {
...
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
kotlinOptions {
jvmTarget = "1.8"
}
}
GL
build.gradleで次のように構成する必要があります
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}
他のソリューションが機能しなかった場合(コンパイラ設定でJVMバージョンを変更し、build.gradle
にjvmTarget
を追加)、.iml
ファイルが構成を強制しようとするため、プロジェクト設定からターゲットプラットフォーム。
File > Project Structure
を開きますProject Settings
の下のFacets
に移動します。+
ボタンをクリックしますTarget Platform
をJVM 1.8
に変更します(また、Use project settings
オプションをチェックすることをお勧めします)Kotlin Webサイトの sing-maven ドキュメントに記載されているとおり:
<kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
をpom.xmlのプロパティセクションに配置するだけです。
Android Studio 4.3.2では、以下の手順による追加は機能しません。
理由は、Android studioがモジュールレベルのGradleファイルに以下のコードを追加できないためです。手動で追加してください。
kotlinOptions {
jvmTarget = "1.8"
}
私の理由は、私のビルドグラドルのこの構成はいくつかのモジュールにあり、いくつかのモジュールにはなかった
Android {
...
kotlinOptions {
val options = this as KotlinJvmOptions
options.jvmTarget = "1.8"
}
...
Android {
Kotlin言語(*.gradle.kts
ファイル)を使用するGradleの場合、これを追加します。
Android {
[...]
kotlinOptions {
this as KotlinJvmOptions
jvmTarget = "1.8"
}
}
Kotlinプラグインをダウンロードしたと仮定してEclipseを使用する場合:
プロジェクトを右クリック->プロパティ-> Kotlin Compiler->プロジェクト固有の設定を有効にする-> JVMターゲットバージョン「1.8」
Kotlin拡張機能でVisual Studio Code **を使用している場合は、プラグイン管理Crtl + Shift + xに移動し、kotlinと入力して、管理(小さなギア)>>拡張設定の構成をクリックします
kotlin >>コンパイラ>> Jvm:Targetで-Javaバージョンを入力します。私の状況では、1.8と入力しました
そして、再起動します:-)
** vscodeまたはLinuxの単なる「コード」