Springboot 项目金蝶中间件AAS-9.0启动报错 javax.persistence.Table.indexes()[Ljavax/persistence/Index 问题解决
Springboot 项目金蝶中间件AAS-9.0启动报错 java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index问题解决方法:
- 问题描述: springboot 2.13+JPA 项目 部署在金蝶中间件后启动报错
- 问题排查 :出现这种情况一般是金蝶自带的jar包和项目里面的jar包出现冲突
在金蝶AAS的根目录下中/lib/ext 发现javax.persistence-api.2.0.5.jar
而我的自己的工程下面
该jar包的版本是2.2,所以会出现以上冲突。
于是我把项目的中javax.persistence-api.2.2jar 放到金蝶的/lib/ext/下 删除它自带的2.0.5版本的jar包
但是有又出现了
org.springframework.boot.orm.jpa.hibernate.SpringJtaPlatform cannot be cast 之类的错误
也就是项目中使用的JPA 相关jar包没有加载 ,再将项目中的spring-data-jpa-2.1.10.RELEASE.jar 拷贝到/lib/ext/中 ,启动成功。
- 解决方案总结
1.移除AAS\lib\ext\javax.persistence-2.0.5.jar
2.将应用war包里面的javax.persistence-api.2.2jar 以及 jpa 相关的jar包添加到
AAS\lib\ext 或AAS\sp下优先加载。