热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

无法将使用JVM目标1.8构建的字节码内联到使用JVM目标1.6构建的字节码中

如何解决《无法将使用JVM目标1.8构建的字节码内联到使用JVM目标1.6构建的字节码中》经验,为你挑选了11个好方法。

尝试通过IntelliJ 运行示例CorDapp(https://github.com/corda/cordapp-example)时,收到以下错误:

无法将使用JVM目标1.8构建的字节码内联到使用JVM目标1.6构建的字节码中

如何修改IntelliJ设置,以便所有字节码都使用相同的JVM目标构建?



1> CORONEL Brai..:

app / build.gradle

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

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

GL

资源


这应该是已检查的解决方案。
到目前为止,在尝试了所有其他方法之后,这是唯一可行的解​​决方案,直到Android Studio v3.5。奇怪的是,在“设置”>“ Kotlin编译器”中设置相同的值无效。

2> Joel..:

您可以按如下方式解决此问题:

打开IntelliJ首选项

转到Build, Execution, Deployment> Compiler>Kotlin Compiler

更改Other SettingsKotlin compiler

点击 3.4


在您的**项目结构**上,确保您还在`General`选项卡下的`Kotlin` Facet上将`Target platform`更改为**JVM 1.8**.
如果存在“未解决的依赖项”,则会出现此错误!
如果应用后重启还不够,请执行以下操作→重新启动和使缓存无效。
然后在Apply之后重新启动IDE。
我已经将此设置固定为1.8,但是在单步执行断点时仍会看到此错误。我在打库查询时主要看到了这一点。还有其他建议吗?看来此目标JVM位不能完全解决它。
对我来说,“ Kotlin编译器”设置实际上位于“其他设置”部分。
不幸的是,如果您有多个模块,则无法使用。在这种情况下,您需要为模块中的每个gradle添加```kotlinOptions {jvmTarget =“ 1.8”}`

3> Amuthan..:

你应该在build.gradle中配置如下所示的内容

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


或者,在Gradle Kotlin DSL中:`tasks.withType {kotlinOptions.jvmTarget ="1.8"}`
那个实际上适用于测试类,谢谢!

4> Saeed Masoum..:

当其他解决方案不适合您时(在编译器设置上更改JVM版本并添加jvmTarget到您的中build.gradle),由于您的.iml文件试图强制其配置,您可以从项目设置更改目标平台.

打开 File > Project Structure

Facets

单击您的Kotlin模块/模块

更改Project Settings+(也最好检查Target Platform选项)


我在Android Studio中找不到此内容或“构面”部分。我必须手动编辑app.iml。我将````设置为`true`,它可以正常工作。但是,文件不断变回来!

5> 小智..:

就我而言,只是像这样更改目标JVM版本:文件>设置> Kotlin编译器>目标JVM版本> 1.8并没有帮助。但是,它确实解决了编译时错误。但是在运行时失败。

我还必须在应用程序build.gradle文件中添加以下内容才能使其正常工作。

 android {
     // Other code here...
     kotlinOptions {
        jvmTarget = "1.8"
     }
 }



6> Muhammad Maq..:

In Android Studio 4.3.2 adding through the below procedure is not working.

    Open the IntelliJ preferences

    Go to Build, Execution, Deployment > Compiler > Kotlin Compiler BUT Other Settings > Kotlin compiler if Android Studio > 3.4

    Change the Target JVM version to 1.8

    Click Apply

The reason is, Android studio is unable to add the below code in the module level Gradle file. Please add it manually.

kotlinOptions {
    jvmTarget = "1.8"
}

仅针对插件,在android studio搜索中搜索Target JVM版本。它将直接带您进入该选项。



7> Johan Vergee..:

正如它在Kotlin网站上的使用maven文档中所写:

您只需要放入1.8pom.xml的属性部分



8> 小智..:

一张图片胜过千言万语



9> AdrianoCelen..:

对我来说,原因是我的构建gradle中的此配置位于某些模块中,而在某些模块中则不是

android {  
...      
kotlinOptions {
        val optiOns= this as KotlinJvmOptions
        options.jvmTarget = "1.8"
    }
...
android {



10> vikas sharma..:

就我而言,我按照以下两个步骤解决了这个问题

1. Go to android studio preferences -> other settings -> kotlin compiler -> set Target JVM version = 1.8 
   if it doesn't work then go to the second option.

2. In your module-level build.gradle file add 
   compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }



11> Kevin Robate..:

对于使用Kotlin语言的Gradle(*.gradle.kts文件),请添加以下内容:

android {
    [...]
    kotlinOptions {
        this as KotlinJvmOptions
        jvmTarget = "1.8"
    }
}


推荐阅读
author-avatar
AYAKASHIZ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有