【问题标题】:Tomcat but not Jetty: NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKeyTomcat 但不是 Jetty:NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey
【发布时间】:2014-06-24 04:42:21
【问题描述】:

我最近将我的 Wicket 6 应用程序从 Spring 3 升级到 Spring 4。

当我在 Jetty 7 上本地运行应用程序时,它运行良好。

当我将它部署到 Tomcat 7 时,我收到以下错误:

[2014-05-07 10:20:47,121] 错误 [org.springframework.web.context.ContextLoader] 上下文初始化失败 org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/applicationContext.xml] 中创建名称为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 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"

【问题讨论】:

    标签: spring hibernate tomcat jetty wicket


    【解决方案1】:

    nested exception is java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey

    出现此异常是因为 javax.persistence.ForeignKey 类的版本冲突。检查您的类路径,如果您使用的是 maven,请检查依赖项。

    【讨论】:

    • 谢谢。是的,我正在使用 Maven。我会马上检查。
    • 如果你使用的是eclipse并且maven与eclipse集成,那么你可以在pom.xml中得到完整的依赖层次结构。
    • 谢谢,我刚刚检查过了,该类位于 .m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa- 2.1-api-1.0.0.Final-sources.jar。这包含在 hibernate-core 4.3.5.Final 中。但我仍然不知道为什么这会导致 Tomcat 而不是 Jetty 出现问题。再次感谢。
    • 检查 pom.xml 中的依赖关系。可能有多个版本的 jar 具有此类,可能是通过传递依赖。
    • 谢谢,高拉夫。我刚检查过。原来 org.jadira.usertype - usertype.core - 3.1.0.CR6 使用的是 hibernate-jpa-2.0-api,这是一个早期版本。我正在使用该依赖项来解决带有时间戳的 joda-time 持久性问题。非常非常感谢。
    【解决方案2】:

    对我来说,将我的项目降级到 java 6 并将 hibernate-entitymanager 版本降级到 3.6.9.FINAL 后问题已修复

    【讨论】:

      猜你喜欢
      • 2015-03-19
      • 2015-09-10
      • 2015-02-07
      • 2019-01-24
      • 2014-08-26
      • 2023-03-10
      • 2016-04-15
      • 1970-01-01
      • 2015-02-04
      相关资源
      最近更新 更多