无法解析DataAccessException。它是从所需的.class文件间接引用的

时间:2017-12-13 14:16:48

标签: java hibernate spring-mvc orm

我将Spring ORM与Hibernate一起使用,当我编写命令时

hibernateTemplate.save(entityInstance);

(entityInstance显然是用户实体的一个实例)

我收到此错误:

The type org.springframework.dao.DataAccessException cannot be resolved. It is indirectly referenced from required .class files

即使我一步一步地遵循(工作)教程(并且逐个代码),它也不起作用。 这是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.dsystems</groupId>
<artifactId>newtokenmanager</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>newtokenmanager Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.5.Final</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.45</version>
    </dependency>

</dependencies>
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

Eclipse还建议我快速修复&#39;从菜单配置构建路径,但我不知道该怎么做。 正如有些人在SO上建议类似的问题一样,我尝试删除并重新加载JRE系统库和Maven依赖项,但是没有用。

5 个答案:

答案 0 :(得分:2)

为Maven项目添加pom

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>

或添加jar spring-tx

答案 1 :(得分:1)

this link下载jar

导入到您的项目中,它将解决。

您的HibernateTemplate类正在导入类路径中不存在的org.springframework.dao.DataAccessException类。

答案 2 :(得分:0)

spring-tx.jar因为我收到了这个错误:

无法解析类型org.springframework.dao.DataAccessException。 它是从所需的.class文件间接引用的 TestSpring.java

spring-core.jar因为我收到了这个错误:

类型org.springframework.core.NestedRuntimeException 无法解决。它是从所需的.class文件间接引用的 TestSpring.java

答案 3 :(得分:0)

尝试为 spring-dao 添加依赖项并构建您的项目一次。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-dao</artifactId>
    <version>2.0.6</version>
</dependency>

答案 4 :(得分:-1)

类型org.springframework.dao.DataAccessException无法解析。对于此错误,请在类路径spring-tx-x.x.x.RELEASE.jar中添加spring jar。