Spring Boot - javax Import语句无法正常工作

时间:2016-05-19 15:24:15

标签: java eclipse spring spring-mvc javax.persistence

我刚刚开始使用 Spring Boot ,目前正在跟踪this tutorial对命名和使用自己版本的 {进行一些小修改{1}} ,内置this generator

当我找到第一段代码时,我会尝试复制 import 语句开头,

Eclipse

使用javax导入时出现以下错误:

import com.fasterxml.jackson.annotation.JsonIgnore;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import java.util.HashSet;
import java.util.Set;

当我找到 The import javax.persistence.[insert name here] cannot be resolved 包时,我发现,确实,他们自己的服务提供的入门代码不包含列出的包。我很困惑,想知道我是否在最初的步骤中做错了什么。有人有什么想法吗?

编辑1:提供的pom内容

javax.persistence

5 个答案:

答案 0 :(得分:9)

添加 spring-boot-starter-data-jpa 依赖

如果您使用 Maven 添加到 pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

如果您使用 Gradle 添加 build.gradle

compile "org.springframework.boot:spring-boot-starter-data-jpa"

其他参考this

答案 1 :(得分:1)

就我而言,我已在spring boot数据依赖项下添加了内容,但仍然无法导入javax.persistence.*

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

我意识到eclipse无法以某种方式将此依赖项添加到我的类路径中。首先,我尝试右键单击项目Maven>Update Project,但仍然无法正常工作。然后,我在根目录中执行mvn eclipse:eclipse,然后在成功构建之后刷新Eclipse中的项目。这次它起作用了。

答案 2 :(得分:1)

请参考文档。 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes

从 #19550 开始,Web 和 WebFlux 启动器默认不再依赖于验证启动器。如果您的应用程序正在使用验证功能,例如您发现 javax.validation.* 导入未得到解析,则您需要自己添加启动器。

对于 Maven 构建,您可以执行以下操作:

 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

对于 Gradle,您需要添加如下内容:

dependencies {
  ...
  implementation 'org.springframework.boot:spring-boot-starter-validation'
}

答案 3 :(得分:0)

在您的pom.xml文件中添加此依赖项

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

之后,右键单击您的项目,然后在maven选项中更新您的项目。那应该解决它。

答案 4 :(得分:0)

我遇到了同样的问题,但以前的解决方案对我不起作用。我确实通过向 POM 文件添加以下依赖项来解决该问题。

NULL