Lorsque j'essaie d'exécuter l'exemple CorDapp ( https://github.com/corda/cordapp-example ) via IntelliJ, le message d'erreur suivant s'affiche:
Impossible d'utiliser le bytecode en ligne créé avec la cible JVM 1.8 en un bytecode qui soit en cours de construction avec la cible JVM 1.6
Comment puis-je modifier les paramètres d'IntelliJ afin que tout le bytecode soit construit avec la même cible JVM?
Vous pouvez résoudre ce problème comme suit:
Build, Execution, Deployment
> Compiler
> Kotlin Compiler
Target JVM version
en 1.8
Apply
Android {
...
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
kotlinOptions {
jvmTarget = "1.8"
}
}
GL
vous devriez configurer quelque chose comme ceci dans build.gradle
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}
Dans Android Studio 4.3.2, l'ajout via la procédure ci-dessous ne fonctionne pas.
La raison en est que Android studio n'est pas en mesure d'ajouter le code ci-dessous dans le fichier Gradle au niveau du module. S'il vous plaît ajoutez-le manuellement.
kotlinOptions {
jvmTarget = "1.8"
}
Juste pour l'addon, recherchez la version de la machine virtuelle Java cible dans la recherche de studio Android. Cela vous mènera directement à l'option.
Lorsque les autres solutions ne fonctionnaient pas pour vous (modification de la version de la machine virtuelle Java dans les paramètres du compilateur et ajout de jvmTarget
dans votre build.gradle
), vous pouvez modifier la plate-forme cible à partir des paramètres du projet, à cause de vos fichiers .iml
.
Project Settings
Facets
Target Platform
en JVM 1.8
(il est également préférable de cocher l'option Use project settings
)Comme il est écrit dans using-maven docs sur le site Web de Kotlin:
Il vous suffit de mettre <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
dans la section des propriétés de votre pom.xml
Pour moi, la raison en était que cette configuration dans mon niveau de construction était dans certains modules et dans certains non.
Android {
...
kotlinOptions {
val options = this as KotlinJvmOptions
options.jvmTarget = "1.8"
}
...
Android {
Pour Gradle avec le langage Kotlin (fichiers *.gradle.kts
]), ajoutez ceci:
Android {
[...]
kotlinOptions {
this as KotlinJvmOptions
jvmTarget = "1.8"
}
}
Si vous utilisez Eclipse en supposant que vous avez téléchargé le plugin Kotlin:
Faites un clic droit sur le projet -> Propriétés -> Compilateur Kotlin -> Activer les paramètres spécifiques au projet -> Version cible de la machine virtuelle Java "1.8"
Si vous utilisez le code Visual Studio ** avec une extension Kotlin, accédez au gestionnaire de plug-in Crtl + Shift + x, tapez kotlin et cliquez sur gérer (le petit engrenage) >> Configurer les paramètres de l'extension
sur Kotlin >> Compilateur >> Jvm: Cible - tapez la version Java. Dans ma situation vient de taper 1.8
Et puis redémarrer :-)
** vscode ou juste 'code' pour linux