Java 创建名为';实体管理工厂&x27;在类路径资源中定义-SO的解决方案不起作用
我将Form1.5.9Springboot迁移到了2.1.1,出现了这个错误。我在这个网站上添加了来自不同问题的新依赖项,但它没有改变任何东西。 新的依赖关系是:Java 创建名为';实体管理工厂&x27;在类路径资源中定义-SO的解决方案不起作用,java,spring,spring-boot,bean-validation,Java,Spring,Spring Boot,Bean Validation,我将Form1.5.9Springboot迁移到了2.1.1,出现了这个错误。我在这个网站上添加了来自不同问题的新依赖项,但它没有改变任何东西。 新的依赖关系是: javax.xml.bind 这里是stacktrace(完整的stacktrace在那里,我不能粘贴在这里,因为它太长了:) 三个实体: package bookrental.model.book; import lombok.*; import javax.persistence.*; import javax.valid
- javax.xml.bind
package bookrental.model.book;
import lombok.*;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
@Entity
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@NotNull
private String title;
@NotNull
private String author;
@NotNull
private String category;
private boolean available;
public Book(String title, String author, String category, boolean available) {
this.title = title;
this.author = author;
this.category = category;
this.available = available;
}
}
图书租赁:
package bookrental.model.book;
import bookrental.model.account.User;
import lombok.*;
import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.Date;
@Entity
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class BookRentals {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@OneToOne
private Book book;
@OneToOne
private User user;
private LocalDateTime dateOfRental;
public BookRentals(Book book, User user) {
this.book = book;
this.user = user;
}
}
用户类别:
package bookrental.model.account;
import lombok.*;
import javax.persistence.*;
@Entity
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
private String password;
public User(String name, String password) {
this.name = name;
this.password = password;
}
public User(int userID) {
this.id = userID;
}
}
您能详细回答我该怎么办吗?此类仅在验证API 2.0后可用: 考虑升级此依赖项的版本:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
javax.validation
你有什么理由把这个包括在内吗
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
javax.validation
验证api
1.1.0.1最终版本
排除验证api后,pom.xml可以正常工作,如下所示:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
</dependency>
<dependency>
<groupId>net.sf.flexjson</groupId>
<artifactId>flexjson</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<!-- make sure your code works if you are including this -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
</dependencies>
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
spring引导启动器数据jpa
com.h2数据库
氢
org.projectlombok
龙目
1.16.22
net.sf.flexjson
flexjson
2.1
javax.xml.bind
jaxb api
javax.validation
验证api
原因:java.lang.NoClassDefFoundError:javax/validation/ClockProvider
您的问题就在这里。尝试为新版本的javax.validation添加依赖项,它应该可以解决您的问题,并将问题标记为“bean validation”,而不是JPA,因为这就是问题所在is@BillyFrost好吧,出于某种原因,我需要添加它。但事实就是如此
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
</dependency>
<dependency>
<groupId>net.sf.flexjson</groupId>
<artifactId>flexjson</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<!-- make sure your code works if you are including this -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
</dependencies>