当我停止我的应用程序时抛出java.lang.VerifyError

时间:2014-03-18 10:21:02

标签: java spring

我在我的应用程序中使用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并且可能更改了返回类型)

但我需要的是这个问题的根本原因。

1 个答案:

答案 0 :(得分:0)

方法convertJpaAccessExceptionIfPossible尝试将JPA异常转换为Spring等效异常。这些异常可以在spring-orm(你可以找到EntityManagerFactoryUtils本身)和spring-tx中找到。确保您的项目包含两者。然后,您可以检查停止应用程序时实际发生的情况。

希望这有帮助。