java - 如何解决 HTTP Status 500 - ContainerException java.lang.NoSuchMethodError 错误

标签 java hibernate rest jpa tomcat8

如何解决 HTTP Status 500 -

org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map exception?

我无法理解这个问题。 我使用的是 Tomcat 8。

 <properties>
     <jersey.version>2.25.1</jersey.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
    <dependencies>
        <groupId>org.glassfish.jersey</groupId>
        <artifactId>jersey-bom</artifactId>
        <version>${jersey.version}</version>
        <type>pom</type>
    </dependency>
</dependencyManagement>

<dependencies>
    <dependency>
       <groupId>javax.ws.rs</groupId>
       <artifactId>javax.ws.rs-api</artifactId>
       <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId> 
    </dependency>
    <dependency>
        <groupId>org.codehaus.jettison</groupId>
        <artifactId>jettison</artifactId>
        <version>1.3.8</version>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.8.Final</version>
    </dependency> 
    <dependency>
        <groupId>com.thetransactioncompany</groupId>
        <artifactId>cors-filter</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
    </dependency> 
    <dependency> 
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.moxy</artifactId>
        <version>2.6.0</version>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>...

Error

Hibernate class

最佳答案

1) 尝试在 servlet 容器的 lib 目录中的某个位置查找嵌入式 hibernate 库。它可能包含一些旧版本,并且与 pom.xml

中指定的版本冲突

2) 您正在使用构建在 JPA 2.x 之上的最新版本的 hibernate。您使用的版本 1.0.2 可能会导致一些冲突。尝试向最新的 2.1 API 添加依赖项并删除现有的依赖项。例如:

<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.1-api</artifactId>
    <version>1.0.0.Final</version>
</dependency>

关于java - 如何解决 HTTP Status 500 - ContainerException java.lang.NoSuchMethodError 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46741870/

相关文章:

java - 传递需要基类对象的派生类对象

java - 在 Java 中使用用户输入来组织成绩、排名和平均值

hibernate - 如何让 Hibernate 调用我的自定义 typedef?

hibernate - 在 hibernate 模式下使用抓取模式

node.js - 使用 REST API REST 创建的 GitHub secret ,但值为空

java - IP 多播在 GridGain 中不起作用

hibernate - 如何使用 Spring 和 Hibernate 为 Web 应用程序和批处理作业设置事务

java - 使用 Camel Rest DSL 上传多部分文件

http - 带有 "If-Match"和 ETag 的 GET 请求

java - JPA/hibernate : mapping a single element in an entity with an one-to-many relationship