公司的老项目终于从 6 升到 8 了。spring 和 hibernate 也升到了 5.x 但是当运行项目,则会报 java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;的错误 搜索了一番也未能找到有效解决方案 而且案例中的表现是 spring 和 hibernate 版本差的多 他们调整版本后就解决了 但是通过一番测试发现 同样的环境 windows 是 ok 的 mac 下就不行 因为是 m1 mac 只能装 zulu open jdk1.8 所以我尝试了在 win 下也使用 zulu open jdk1.8 结果发现可以正常运行。 在 mac 下反复测试 把 hibernate 降到 4.x 也可以。就是 5.x 不行 试着在源码的接口中补上 getProperties 重新打包,结果是,在之前卡住的报错的地方 ok 了, 但是会有新的报错,也是类似这种 NoSuchMethodError ,都是因为接口中不存在此方法。 所以 这到底是什么原因呢 有没有人知道,不胜感激。