MaaBackendCenter
MaaBackendCenter copied to clipboard
恢复 native image 的使用,剔除目前 native-image 不支持的依赖
目前存在的问题:
- [x] Mapstruct 找不到实现 —— 更换为 Spring 模式解决
- [x] Jackson 反序列化json数据时报错类型不存在无参构造器 —— 使用注解 RegisterReflectionForBinding 配置解决
- [x] 作业备份任务依赖了 jgit-ssh ,目前 native-image 对于 nio 的处理存在问题,目前应用启动初始化 JGit 时会失败 (排除sftp相关依赖解决)
- [ ] redis 工具类目前重度依赖 jackson 的序列化和反序列化,其中 HashSet 类放入 RegisterReflectionForBinding 时仍然报错,原因不明
- [ ] 缓存框架 caffeine 对 native-image 支持存在问题,添加部分类到 RegisterReflectionForBinding 应该可以解决 https://github.com/ben-manes/caffeine/issues/434#issuecomment-653516398 ,也可以考虑丢弃 caffeine 依赖
好多东西得手动配置,要不试试追踪代理功能?把项目完整跑一圈,再配合 RegisterReflectionForBinding 应该能解决大部分问题。 https://springdoc.cn/spring-boot/native-image.html#native-image.advanced.using-the-tracing-agent
native image目前感觉还是个体力活,就算通过手动跑一圈加上配置,暂时解决了问题,也难保以后项目引用新的依赖,或者使用新的类的时候会不会出现问题,需要要大量的手动修正。
native image目前感觉还是个体力活,就算通过手动跑一圈加上配置,暂时解决了问题,也难保以后项目引用新的依赖,或者使用新的类的时候会不会出现问题,需要要大量的手动修正。
确实,这个issue先挂着吧,能搞多少先搞多少。反正这个项目后面需求也少。