intellij-idea - tutorial - ireport intellij idea
No se puede incluir el bytecode integrado con JVM target 1.8 en bytecode que se está creando con JVM target 1.6 (9)
Cuando intento ejecutar el ejemplo CorDapp ( https://github.com/corda/cordapp-example ) a través de IntelliJ, recibo el siguiente error:
No se puede incluir el bytecode integrado con JVM target 1.8 en bytecode que se está creando con JVM target 1.6
¿Cómo puedo modificar la configuración de IntelliJ para que todo el bytecode se construya con el mismo objetivo JVM?
app / build.gradle
android {
...
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
kotlinOptions {
jvmTarget = "1.8"
}
}
GL
Source
Como está escrito en los documentos using-maven del sitio web de Kotlin:
Solo tiene que poner
<kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
en la sección de propiedades de su pom.xml
Cuando las otras soluciones no funcionaron para usted (cambiando la versión de JVM en la configuración del compilador y agregando
jvmTarget
en su
build.gradle
), debido a que sus archivos
.iml
intentan forzar sus configuraciones, puede cambiar la plataforma de destino desde la configuración del proyecto.
-
Abrir
File > Project Structure
-
Vaya a
Facets
enProject Settings
-
Si está vacío, haga clic en el pequeño botón
+
-
Si está vacío, haga clic en el pequeño botón
- Haga clic en su módulo / módulos Kotlin
-
Cambie la
Target Platform
aJVM 1.8
(también es mejor marcar la opciónUse project settings
)
En Android Studio 4.3.2, agregar a través del siguiente procedimiento no funciona.
- Abra las preferencias de IntelliJ
- Vaya a Compilación, Ejecución, Implementación > Compilador > Compilador Kotlin PERO Otras configuraciones> Compilador Kotlin si Android Studio> 3.4
- Cambie la versión de Target JVM a 1.8
- Haga clic en Aplicar
La razón es que Android Studio no puede agregar el siguiente código en el archivo Gradle de nivel de módulo. Por favor agrégalo manualmente.
kotlinOptions { jvmTarget = "1.8" }
Solo para el complemento, busque la versión de Target JVM en la búsqueda de Android Studio. Te llevará directamente a la opción.
Para Gradle con lenguaje Kotlin (archivos
*.gradle.kts
), agregue esto:
android {
[...]
kotlinOptions {
this as KotlinJvmOptions
jvmTarget = "1.8"
}
}
Para mí, la razón fue que esta configuración en mi gradle de compilación estaba en algunos módulos y en otros no
android {
...
kotlinOptions {
val options = this as KotlinJvmOptions
options.jvmTarget = "1.8"
}
...
android {
Puede solucionar este problema de la siguiente manera:
- Abra las preferencias de IntelliJ
-
Vaya a
Build, Execution, Deployment
>Compiler
>Compiler
Kotlin Compiler
PEROOther Settings
>Kotlin compiler
si Android Studio>3.4
-
Cambie la
Target JVM version
a1.8
-
Haga clic en
Apply
Si usa Eclipse suponiendo que descargó el complemento Kotlin:
Haga clic con el botón derecho en el proyecto -> Propiedades -> Compilador Kotlin -> Habilitar configuraciones específicas del proyecto -> Versión de destino JVM "1.8"
debe configurar algo como lo siguiente en build.gradle
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}