当前位置: 首页 > 知识库问答 >
问题:

Spring项目中缺少JPA依赖项

慕高格
2023-03-14

我试图在Tomcat服务器上部署一个基于spring的web应用程序,但我无法自动连接EntityManager。根本原因是错误。

我假设我有不正确的HibernateJAR作为依赖项。任何帮助都将不胜感激

Caused by: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;

我之前看到一篇帖子指出,问题在于包含了以下依赖项,但我不包括这一项:

<dependency>
    <groupId>javax.persistence</groupId>
    <artifactId>persistence-api</artifactId>
    <version>1.0.2</version>
</dependency>

以下是我的POM依赖项:

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901-1.jdbc4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>5.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>5.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.2.12.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>1.0.2.Final</version>
        </dependency>
    </dependencies>

共有1个答案

赵经国
2023-03-14

您需要检查类路径中PeristenceUnitInfo类的所有不同jar。

我希望您已经知道方法getValidationMode只存在于JPA 2之后。

你不需要在你的依赖中找到多少个版本。

因此,如果您使用的是工具(eclipse/intellij),您将能够看到一个深度等级/有效pom,并可以看到使用了哪个依赖项。您可以从那里开始,然后您将能够知道一定有一个较旧/无效的版本导致了这种问题,然后将该版本从其父依赖项中排除。或者只需在您的命令提示符/终端中运行以分析它。

mvn dependency:analyze
 类似资料:
  • 我正在尝试学习spring boot,但有一个测试案例失败了。我有下面的pom文件,其中包含了< code > spring-boot-starter-test 依赖项。据我所知,它应该从测试库拉必要的库,包括Mockito,JUnit等。在我的测试用例文件中,尽管我在maven dependencies下看到了JUnit jar,但是导入并没有得到解析。您能指导我解决这个问题吗,这样我就可以成功

  • 我是Springboot和Maven领域的新手,想问一下我在这里做错了什么/为什么它不能这样工作。 我的绒球

  • 在我的反应/redux应用程序中,我使用调度来调用每次安装组件时从redux中的状态检索数据的操作。问题正在使用状态发生我的方式不工作 下面是我得到的错误: React Hook useEffect缺少依赖项:“dispatch”。包括它或删除依赖项数组。像“getInvoiceData”这样的外部作用域值不是有效的依赖项,因为对它们进行变异不会重新呈现组件react HOOK/DEP 这是我的密

  • 我正在使用STS 2.9.1(构建在Eclipse 3.7.2上)和与STS(V1.0.200.20111228-1245)绑定的m2e插件。 我有一个问题是包含多个模块的Eclipse项目中缺少依赖项,或者我不完全理解它应该如何工作。 这是一个maven项目。 在我的项目>Properties>Java Build Path>Libraries中,我有“maven dependencies”库,

  • 我在构建我的应用程序时遇到此问题。有人知道怎么回事吗? React Hook useEffect缺少依赖项:“conectar”。包括它或删除依赖项数组react hooks/dep