首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

升级到Kotlin 1.4 get error编译器关于module-info.class

升级到Kotlin 1.4后,如果在编译器中遇到关于module-info.class的错误,这通常是由于使用了Java 9及以上版本的模块化特性所导致的。

在Java 9中引入了模块化系统,其中module-info.java文件用于定义Java模块的信息。而在Kotlin中,如果项目中存在Java模块,编译器会尝试生成相应的module-info.class文件。

然而,Kotlin 1.4之前的版本对于Java 9模块化系统的支持并不完善,可能会导致编译器错误。为了解决这个问题,可以尝试以下几个步骤:

  1. 确保使用的是Kotlin 1.4及以上版本,因为Kotlin团队在1.4版本中对Java 9模块化系统进行了改进和修复。
  2. 检查项目中是否存在module-info.java文件。如果存在,可以尝试将其删除,因为Kotlin编译器会自动生成module-info.class文件。
  3. 如果项目中确实需要使用Java 9模块化系统,可以尝试使用Kotlin的@JvmModule注解来显式声明模块信息。在Kotlin 1.4中,@JvmModule注解可以用于标记Kotlin模块,并生成相应的module-info.class文件。

总结起来,升级到Kotlin 1.4后遇到编译器关于module-info.class的错误,可以确保使用的是Kotlin 1.4及以上版本,并检查是否存在module-info.java文件。如果需要使用Java 9模块化系统,可以尝试使用@JvmModule注解来显式声明模块信息。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云计算服务:https://cloud.tencent.com/product/cvm
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器运维:https://cloud.tencent.com/product/cvm
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发:https://cloud.tencent.com/product/mobdev
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Kotlin 1.4-M1 现已发布!

新后端 Kotlin 1.4-M1 是包含可用于 Kotlin/JS 目标的新 IR 编译器后端的第一个版本。...由 JetBrains 在 Kotlin 1.4-M1 中面向 Kotlin/JS 发布的库已包含与新的 IR 编译器后端搭配使用而需要的所有工件。...这表示您可以使用新的 IR 编译器后端编译和发布库,新的 IR 编译器后端适用于已升级到 Kotlin 1.4-M1 的项目和使用任意一种编译器后端的项目。...这有助于确保仍在使用默认后端的用户不会受影响——假定他们已经将项目升级到 1.4-M1。 请注意,如果依赖项和您的项目使用 both 模式构建,仍然存在会导致 IDE 无法正常解析库引用的问题。...之前,除了 RuntimeException 和 Error 以外的任何异常都传播为 NSError。在 1.4-M1 中,我们更改了此行为。

3.5K20
  • Kotlin 新版本也有了交叉类型和联合类型?

    关键词:Kotlin 1.4 类型系统 Kotlin 1.4 会默认使用一套新的类型推导算法,类型系统也相比之前更强大了。...Kotlin 1.4-m1 发布之后,我曾整理了一下官方博客中提到的语法更新,见 Kotlin 1.4 新特性预览。...因为 Kotlin 编译器在类型推导时遇到这种模棱两可的情况实在不知道如何做出选择,因此干脆不选。...图 2:Kotlin 1.4 对分支表达式的类型推导 这是什么情况?这个类型我没见过啊。确实如此,这样的类型我们也没有办法显式声明出来,只有靠编译器推导才能得到。...于是在 Kotlin 1.4 当中,以下代码就成了合法的用法: 代码清单 3:Kotlin 1.4 中对于分支表达式类型的使用 operator fun Number.compareTo(other:

    1.4K20

    Kotlin 1.4 现已发布,专注于质量和性能

    Kotlin 1.4 在线活动 我们希望确保您拥有出色的 Kotlin 1.4 使用体验,并希望您对该语言的下一步发展有一个很好的了解。...新的编译器 很长一段时间以来,我们一直在开发一个新的 Kotlin 编译器,它将在性能和可扩展性方面进一步推动 Kotlin 的发展。...更多详细信息 您可以在 Kotlin 1.4 最新变化页面和文档中找到有关新功能的详细说明,并阅读更多关于迁移到 Kotlin 1.4 的信息。...如何帮助我们改进 Kotlin IntelliJ IDEA 和 Android Studio 中的 Kotlin 插件会收集关于您如何使用其功能的匿名统计信息。我们恳请您选择提供这些统计信息!...立即开始使用 Kotlin 1.4 和往常一样,您可以在 play.kotl.in 上在线试用 Kotlin。 在 Gradle 和 Maven 中,使用 1.4.0 作为编译器版本。

    1.8K30

    Kotlin 1.4 新特性预览

    安装 Kotlin 1.4 Kotlin 1.4 的第一个里程碑版本发布了,具体发布信息可以参考1.4-M1 ChangeLog[1]。...不过,大家在使用 Kotlin 开发时,一定会发现有些情况下明明类型是很确定的,编译器却一定要让我们显式的声明出来,这其实就是类型推导算法没有覆盖到的场景了。...图 6:1.4 当中具名参数之后添加位置参数需要保证位置对应 注意图 6 是 1.4 环境下的情形,这样调用时我们就可以不必显式的传入 a 的值了,这时候直觉告诉我参数 b 后面的参数应该是 c,然而编译器却不领情...因此对于属性代理类的 get 和 set 函数实现为内联函数的情形,编译器可以确切的分析出 KProperty 是否被用到,如果没有被用到,那么就不会生成这个 KProperty 对象。...剩下的主要就是针对编译器、使用体验的各种优化了,实际上这才是 Kotlin 1.4 最重要的工作。这些内容相对抽象,我就不做介绍了。

    98210

    Java 近期新闻:OpenJDK JEP、Spring 更新、Payara 平台和 Kotlin 1.6

    该 JEP 是关于将 JDK 移植到 Linux/RISC-V,一个免费开源的 RISC 指令集架构。...移植版本将支持模板解释、C1 和 C2 JIT 编译器,以及目前所有主流的垃圾回收器,包括 ZGC 和 Shenandoah。该 JEP 的主要目标是将移植版本集成到 JDK 的主线代码库中。...Spring Boot 2.6 发布,将依赖项 Spring Data 升级到 2021.1、Spring HATEOAS 升级到 1.4、Spring AMQP 升级到 2.4、Spring Kafka...升级到 2.8、Spring Security 升级到 5.6、Spring Session 升级到 2021.1。...Kotlin JetBrains发布Kotlin 1.6.0,带来了很多新特性:封印的 when 语句、改进的 suspend 函数类型和转换、注解类的初始化、改进的递归泛型类型推断。

    1.4K30

    一次 Spring 无法启动的问题排查(字节码篇)

    问题背景 有同学反馈,有一个项目从 kotlin 1.2 升级到 kotlin 1.3 以后 Spring 项目无法启动,报 java.lang.IllegalStateException: Ambiguous...众所周不知,ACC_BRIDGE 是一种为了实现某些语言特性而由编译器自动生成的方法。...如何解决 那这么严重的问题,难道 kotlin 不解决吗?...Kotlin 编译器源码探秘 有了实验的结果,反过来寻找原因就很简单了,找到 kotlin 1.2 的源码,然后翻一翻源码,马上找到了对应的逻辑。...对应的源码修改如下 Kotlin 新版逻辑 有小伙伴又试了 kotlin 1.4+,发现问题也消失了,这又引起了我的兴趣,看了一下字节码,发现新版本的 getActivityGameByPage$default

    35210

    第8章 泛型第8章 泛型

    String a = (String)rawArrayList.get(0); 这个元素类型 String 的信息,我们存放到 一个“类型参数”中,然后在编译器层面引入相应的类型检查和自动转换机制,这样就可以解决这个类型安全使用的问题...泛型最主要的优点就是让编译器追踪参数类型,执行类型检查和类型转换。因为由编译器来保证类型转换不会失败。...当我们在一个集合类里面放入了错误类型的对象,编译器就会报错: >>> map.put("5","e") error: type mismatch: inferred type is String but...super T 8.6 类型擦除 Java和Kotlin 的泛型实现,都是采用了运行时类型擦除的方式。也就是说,在运行时,这些类型参数的信息将会被擦除。 泛型是在编译器层次上实现的。...关于泛型的很多奇怪特性都与这个类型擦除的存在有关,比如:泛型类并没有自己独有的Class类对象。

    1.9K20
    领券