springboot包javax.persistence不存在

2nc8po8w  于 2023-10-16  发布在  Spring
关注(0)|答案(2)|浏览(289)

我正在学习本教程https://spring.io/guides/tutorials/rest
在第一步中,当我从教程中复制类Employee时,它显示为package javax.persistence does not exist
我添加了教程中给出的依赖项。我按照教程中的描述使用spring initializr生成了初始项目。我的pom在下面:

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.trupt</groupId>
    <artifactId>cure</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>cure</name>
    <description>cure</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

SDK selected in the IDE is here
Error messages in the IDE
即使在这个简单的步骤中,它也不起作用。
我试过maven reimport,maven clean-install,invalidate caches and restart。这些都不管用。
我应该添加依赖项吗?Spring的数据还不够吗?
这真的很难

c7rzv4ha

c7rzv4ha1#

这个guide是在spring-boot < 3.x的版本中编写的,这意味着所有的javax.导入都被移动到了jakarta.,而你正在使用<version>3.1.4</version>,这意味着来自指南的每个导入都将被

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

收件人:

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;

我也建议你看看preparing-for-spring-boot-3-0

eyh26e7m

eyh26e7m2#

您正在使用的教程尚未更新到最新版本的Sping Boot 。最新的版本是3.x,它需要像jakarta.persistence而不是javax.persistence这样的导入。
Spring Initializr中,选择Sping Boot 的2.x版本(当前为2.7.16),一切都将正常工作,无需任何其他更改。

相关问题