首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
JDK 14 java.lang.Record和jfinal的Record冲突
sioui
2020-07-07 16:54
java.lang.Record 默认不需要导入包的。
项目:
JFinal
评论区
JFinal
2020-07-07 16:58
导入一下 com.jfinal.plugin.activerecord.Record 就可以了
回复
JFinal
2020-07-07 16:59
如果以后有很多同学反馈用着不方便,未来的版本可以改名
回复
sioui
2020-07-07 17:00
@JFinal
还是会提示报错的,除非写完整包路径 com.jfinal.plugin.activerecord.Record record = null; 这样要改的地方太多了
回复
JFinal
2020-07-07 17:04
@sioui
如果你在 JDK 14 下使用,为了方便,可以 git clone 源码到本地,然后将 Record 命名重构为 Row
然后安装到本地 maven 库就可以使用了,这里有具体的方法:
https://jfinal.com/share/2093
记得回来反馈使用的感受,如果好用,将来考虑改名
回复
JFinal
2020-07-07 17:05
eclipse 、IDEA 这类工具重构改类名是很方便的,秒秒钟改完
回复
sioui
2020-07-07 17:10
@JFinal
可以的,就是后续版本升级又得改一遍 -。-
回复
李通
2020-07-07 17:38
还有一个办法,新建一个类,集成record,实例化并调用
回复
zzutligang
2020-07-07 17:58
不建议改!要不然程序都要改一遍,想起来都觉得不合适!类重名的多了。导入的时候指定导入哪个不就行了。如果确实需要在一个class里使用这两个record对象,那就写全,有啥啊。老的JFinal项目全改一遍,想想都觉得恐怖。
回复
sioui
2020-07-07 18:55
@zzutligang
问题在于老的项目必须改,否则Record 默认指向java.lang.Record 肯定报错。
回复
JFinal
2020-07-07 19:07
@zzutligang
这里的关键在于 JDK 14 的 java.lang 包下面新增了 Record 类,而 java.lang 包下面的任何东西都是不需要 import 就直接生效的
回复
久伴轻尘
2020-07-08 08:46
看来以后包命名还要特立独行一点
回复
zzutligang
2020-07-08 09:13
JDK14的Record就是和Lombok的功能差不多。这么一说,看来JFinal要适配jdk14,还真得改Record类名了。不过老项目基本上都是用jdk1.8的,先不关心这个问题了。
回复
himans
2020-07-08 15:26
java8不香吗?
回复
老高
2020-07-08 15:46
厉害 都 jdk14 了
回复
happyboy
2020-07-09 18:29
先把jfinal源码下载下来,然后改掉Record的名字,maven重新编译。然后用IDEA批量替换。
回复
steven_lhcb_9527
2020-12-08 15:33
java已经到15了
回复
steven_lhcb_9527
2020-12-22 08:47
Java16马上就出来了
回复
sioui
2020-12-23 13:46
@steven_lhcb_9527
😂
回复
发送
我要反馈
热门反馈
扫码入社