我在我的项目中使用 JPA 2.0 和 Spring 和休眠。
但是,运行时是 WAS 6.1。
编译顺利。
但是,在部署应用程序期间,我收到以下错误:
com.ibm.ws.exception.RuntimeError: java.lang.RuntimeException: java.lang.NoSuchMethodError: javax/persistence/spi/PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;
在使用 ctrl + shift + T 搜索 PersistenceUnitInfo 类时,我发现它位于以下 jar 中:
\IBM\SDP\runtimes\base_v61\lib\j2ee.jar
和
\WEB-INF\lib\hibernate-jpa-2.0-api-1.0.1.Final
我从两个 JARS 中提取了上面的类,并使用 JAD 对它们进行了反编译以进行比较。
我发现方法 getValidationMode() 在 j2ee.jar 中不存在,但在 hibernate-jpa jar 中存在。
这是我收到错误的原因吗???怎么解决??我如何告诉 websphere 在休眠 jar 中而不是在服务器运行时库中查找类?