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

Springboot 项目金蝶中间件AAS-9.0启动报错 javax.persistence.Table.indexes()[Ljavax/persistence/Index 问题解决_第1张图片

而我的自己的工程下面

该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下优先加载。

你可能感兴趣的:(国产化踩得那些坑,中间件,java)