当前位置: 首页 > news >正文

kotlin项目无法访问Java类的问题

使用IntelliJ创建一个Kotlin项目,然后在src/main/kotlin中创建一个java接口:Animal.java,然后在Main.kt中打印这个java接口,如下:

fun main() {println(Animal::class.java)
}

代码在编辑器中并没有报错,但是运行main函数时报错,异常如下:

Exception in thread "main" java.lang.NoClassDefFoundError: Animalat MainKt.main(Main.kt)at MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: Animalat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:827)at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1112)... 2 more

解决方法很简单,把Animal.java放到src/main/java目录中即可,如下图所示:

在这里插入图片描述
简单总结就是java的类要放到src/main/java目录,kotlin的类要放到src/main/kotlin的目录。

另外,在src/test/kotlin中的kotlin的测试类如果要访问java类,这个java类也必须是放在src/main/java中的才可以访问到,如果放在src/main/kotlin中则访问不到。

另外需要提醒一下,与Android开发不同,AndroidStudio项目中,kotlinjava的类可以同时放在src/main/java目录下,而且相互访问是没问题的。

http://www.lryc.cn/news/519335.html

相关文章:

  • 计算机网络 (30)多协议标签交换MPLS
  • qt-C++笔记之自定义继承类初始化时涉及到parents的初始化
  • 人才选拔中,如何优化面试流程
  • 2501wtl,皮肤技术
  • 【面试题】技术场景 6、Java 生产环境 bug 排查
  • word论文排版常见问题汇总
  • 传奇3仿韩服单机版安装教程+GM管理面板
  • 第26章 汇编语言--- 内核态与用户态
  • Spring bean的生命周期和扩展
  • 计算机网络 (33)传输控制协议TCP概述
  • Python3 JSON
  • Leetcode 698 Partition to K Equal Sum Subsets
  • 可靠的人形探测,未完待续(III)
  • Git文件夹提交错了,怎么撤销?
  • 小程序textarea组件键盘弹起会遮挡住输入框
  • Android车机DIY开发之学习篇(二)编译Kernel以正点原子为例
  • qt 窗口(window/widget)绘制/渲染顺序 QPainter QPaintDevice Qpainter渲染 失效 无效
  • Ubuntu下载时不显示无线网图标并显示Cable unplugged
  • 微信小程序实现人脸识别登录
  • atoi函数的概念和使用案例
  • Mysql--运维篇--日志管理(连接层,SQL层,存储引擎层,文件存储层)
  • poi处理多选框进行勾选操作下载word以及多word文件压缩
  • QT 键值对集合QMap
  • NetMQ里Push-Pull模式,消息隔一收一问题小记
  • 见微知著:Tripo 开创 3D 生成新时代
  • 消息队列与中间件:Java的秘密传输带
  • Bytebase 3.1.0 - 通过 Google / GitHub SSO 功能开放给专业版
  • EdgeOne安全专项实践:上传文件漏洞攻击详解与防范措施
  • k8s部署rocketmq踩坑笔记
  • Docker 通过创建Dockerfile 部署Jar包