标签:# springboot

Java基于 SpringBoot 的 JNI 本地方法库加载器

由于Java跨平台需要,自行写了一个跨平台的 JNI 本地方法库加载器。

简单实现逻辑

  1. 根据环境变量os.name,判断当前系统属于Windows,Linux还是MacOS
  2. 如果是Linux,继续判断是CentOS还是Debian
  3. 读取 jar 包中的库文件
  4. 根据文件名后缀dllsojnilibdylib,过滤符合当前平台的库文件
  5. 将当前平台的库文件复制到系统临时目录java.io.tmpdir
  6. 使用System.load加载库文件

SpringBoot DevTools的大坑,没有之一

最近在SpringBoot的项目中新增了不少改动,然后就碰到了一个非常奇怪的问题。

Hibernate数据库查询报错

2021-03-03 17:08:28.016 ERROR 36216 --- [  XNIO-2 task-1] o.h.p.access.spi.SetterMethodImpl        : HHH000123: IllegalArgumentException in class: net.margrop.racentity.entity.Race, setter method of property: raceType
2021-03-03 17:08:28.016 ERROR 36216 --- [  XNIO-2 task-1] o.h.p.access.spi.SetterMethodImpl        : HHH000091: Expected type: net.margrop.raceapi.entity.permanent.RaceType, actual value: net.margrop.raceapi.entity.permanent.RaceType

这简直就是奇了怪了
Expected typeactual value完全是一模一样,可Hibernate认为不一样,这可咋整。