>我正在使用一些 Spring 启动代码将 java 类转换为 Json 模式,并且只需将依赖项添加到 POM 文件中即可获得奇怪的行为,如
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jsonSchema</artifactId>
<version>2.9.4</version>
</dependency>
我得到的错误是:
The Bean Validation API is on the classpath but no implementation could be found
Action:
Add an implementation, such as Hibernate Validator, to the classpath
关于阅读或解决的任何建议。
谢谢。
是的,这是因为您提到的工件取决于:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
但这只是验证API,必须添加一个可以做"真正"工作的真正验证器。 看到你的pom会很有趣.xml因为许多Spring Boot Starter已经带有验证实现,例如:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
。附带...
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-parent</artifactId>
</dependency>
顺便说一下,您描述的行为也记录在此 Spring 引导问题中。
它将通过此拉取请求进行修复,该请求仅在真正执行验证操作时才强制执行验证实现(@Validated
)。