我在我的应用程序中使用Spring jar。当我的应用程序仍在运行时强制停止我的应用程序时,我得到了java.lang.VerifyError。 看看这个:
2014-03-18 15:29:26,941 ERROR [localhost-startStop-2] ? - Destroy method on bean with name 'org.springframework.aop.config.internalAutoProxyCreator' threw an exception
java.lang.VerifyError: (class: org/springframework/orm/jpa/EntityManagerFactoryUtils, method: convertJpaAccessExceptionIfPossible signature: (Ljava/lang/RuntimeException;)Lorg/springframework/dao/DataAccessException;) Wrong return type in function
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessBeforeDestruction(PersistenceAnnotationBeanPostProcessor.java:358)
我学的是: 可能是因为代码是在其他环境中编译的,现在引用的是另一个环境(可能是更新了spring jar并且可能更改了返回类型)
但我需要的是这个问题的根本原因。
答案 0 :(得分:0)
方法convertJpaAccessExceptionIfPossible
尝试将JPA异常转换为Spring等效异常。这些异常可以在spring-orm(你可以找到EntityManagerFactoryUtils本身)和spring-tx中找到。确保您的项目包含两者。然后,您可以检查停止应用程序时实际发生的情况。
希望这有帮助。