代码之家  ›  专栏  ›  技术社区  ›  Bilal Kundi

如何在Spring MVC中解析JpaRepository<>

  •  0
  • Bilal Kundi  · 技术社区  · 1 年前

    我正在做一个SpringMVC项目,我想创建一个扩展JpaRepository的存储库接口。然而,我遇到了编译错误,这表明一些JAR文件可能丢失,或者JAR之间存在冲突。

    这是我的存储库界面:

    public interface  StudentRepository extends JpaRepository<Student , Long> {
    }
    

    我在项目中包含了以下JAR文件:

    • -javax.persistence-api-2.2.jar
    • spring-data-jpa3.3.1.jar
    • 弹簧-orm6.1.10.jar
    • 雅加达持久性-api-3.2.0.jar

    尽管添加了这些JAR文件,问题仍然存在。我错过了什么或做错了什么?如何解决这些编译错误?

    1 回复  |  直到 1 年前
        1
  •  0
  •   life888888    1 年前

    根据您提供的信息,我能提供的唯一帮助如下:

    你可以直接跳到下面的段落 Jar List 看看你是否有以下文件?

    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>com.example</groupId>
        <artifactId>helloworldwebapp</artifactId>
        <packaging>war</packaging>
        <version>0.0.1-SNAPSHOT</version>
        <name>helloworld Maven Webapp</name>
        <properties>
            <maven.compiler.target>17</maven.compiler.target>
            <maven.compiler.source>17</maven.compiler.source>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        </properties>
    
        <dependencies>
    
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-jpa</artifactId>
                <version>3.3.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>6.1.10</version>
            </dependency>
    
            <dependency>
                <groupId>jakarta.persistence</groupId>
                <artifactId>jakarta.persistence-api</artifactId>
                <version>3.2.0</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <finalName>helloworld</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.4.0</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    

    获取所有依赖项jar

    mvn dependency:copy-dependencies -DoutputDirectory=target/libs
    

    依赖关系jar列表

    target/libs
    ├── antlr4-runtime-4.13.0.jar
    ├── jakarta.annotation-api-2.0.0.jar
    ├── jakarta.persistence-api-3.2.0.jar
    ├── micrometer-commons-1.12.7.jar
    ├── micrometer-observation-1.12.7.jar
    ├── slf4j-api-2.0.2.jar
    ├── spring-aop-6.1.9.jar
    ├── spring-beans-6.1.9.jar
    ├── spring-context-6.1.9.jar
    ├── spring-core-6.1.9.jar
    ├── spring-data-commons-3.3.1.jar
    ├── spring-data-jpa-3.3.1.jar
    ├── spring-expression-6.1.9.jar
    ├── spring-jcl-6.1.9.jar
    ├── spring-jdbc-6.1.10.jar
    ├── spring-orm-6.1.10.jar
    └── spring-tx-6.1.9.jar
    

    Jar列表

    • 弹簧-orm6.1.10.jar
    • 雅加达持久性-api-3.2.0.jar
    • spring-data-jpa3.3.1.jar

    现在请检查下面列表中的jar文件。你下载了吗?

    • antlr4-运行时间-4.13.0.jar
    • 雅加达注释-api-2.0.0.jar
    • 普通微米-12.7.jar
    • 微米观测-1.12.7.jar
    • slf4j-api-2.0.2.jar
    • 春季作业-6.1.9.jar
    • 弹簧-外壳-6.1.9.jar
    • 弹簧-文本-6.1.9.jar
    • 弹簧芯-6.1.9.jar
    • spring-data-commons-3.3.3.1.jar
    • 弹簧-压力-6.1.9.jar
    • 弹簧-jcl-6.1.9.jar
    • 弹簧-jdbc-6.1.10.jar
    • 弹簧-tx-6.1.9.jar

    依赖关系树

    mvn dependency:tree
    
    +- org.springframework.data:spring-data-jpa:jar:3.3.1:compile
    |  +- org.springframework.data:spring-data-commons:jar:3.3.1:compile
    |  +- org.springframework:spring-context:jar:6.1.9:compile
    |  |  +- org.springframework:spring-expression:jar:6.1.9:compile
    |  |  \- io.micrometer:micrometer-observation:jar:1.12.7:compile
    |  |     \- io.micrometer:micrometer-commons:jar:1.12.7:compile
    |  +- org.springframework:spring-aop:jar:6.1.9:compile
    |  +- org.springframework:spring-tx:jar:6.1.9:compile
    |  +- org.springframework:spring-beans:jar:6.1.9:compile
    |  +- org.springframework:spring-core:jar:6.1.9:compile
    |  |  \- org.springframework:spring-jcl:jar:6.1.9:compile
    |  +- org.antlr:antlr4-runtime:jar:4.13.0:compile
    |  +- jakarta.annotation:jakarta.annotation-api:jar:2.0.0:compile
    |  \- org.slf4j:slf4j-api:jar:2.0.2:compile
    +- org.springframework:spring-orm:jar:6.1.10:compile
    |  \- org.springframework:spring-jdbc:jar:6.1.10:compile
    \- jakarta.persistence:jakarta.persistence-api:jar:3.2.0:compile
    

    建议:

    (1) 您创建了一个空目录,

    (2) 然后生成pom.xml(如上所述),

    (3) 然后执行 mvn dependency:copy-dependencies -DoutputDirectory=target/libs 命令

    (4) 可以在中获取所有依赖的jar文件 target/libs 目录,然后将其复制到您的webapp项目中。