使用 resin-pro-3.0.27 开发 spring+jpa+hibernater的时候遇到一下问题:
java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceProvider.createContainerEntityManagerFactory(Ljavax/persistence/spi/PersistenceUnitInfo;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:224)
原因是resin-pro-3.0.27的lib里面有个ejb30.jar包,应该是包太久了。没有找到该类的方便
解决办法一
如果项目的lib包含有ejb3-persistence.jar,比resin-pro-3.0.27lib的包新的话,可以删掉resin-pro-3.0.27 lib里面的ejb30.jar
解决方法二
resin-3.1.8 应该是3.1的lib里面有个ejb-15.jar的包,可以考虑替换或者跟换新的resin版本.