我最近将我的 Wicket 6 应用程序从 Spring 3 升级到了 Spring 4。
当我在 Jetty 7 上本地运行应用程序时,它运行良好。
当我将其部署到 Tomcat 7 时,出现以下错误:
[2014-05-07 10:20:47,121] ERROR [org.springframework.web.context.ContextLoader] Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;
这是 Tomcat 问题还是我应该继续尝试解决嵌套异常 java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()?
如果确实是foreignKey的问题,那为什么Jetty上没有出现问题呢?
spring.version 4.0.4.RELEASE
hibernate.version 4.3.5.Final
数据源:class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"
最佳答案
嵌套异常是 java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey
如果 javax.persistence.ForeignKey 类的版本存在冲突,则会发生此异常。检查您的类路径,如果您使用的是 Maven,请检查依赖项。
关于spring - Tomcat 但不是 Jetty : NoSuchMethodError: javax. persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23513830/