如何解决在 JBOSS 中找不到约束“javax.validation.constraints.NotEmpty”错误的验证器
我有一个 SpringBoot 版本“2.3.9.RELEASE”应用程序。
Jboss 版本:jboss-eap-7.1
成功地将应用程序部署到 jboss。当我尝试通过我的 Web 应用程序登录时,出现错误。
No validator Could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.String'. Check configuration for 'emailAddress'
验证类如下
@Getter @Setter public class Login {
@NotEmpty(message = "Please enter email address.",groups = Validationorder.Step1.class)
private String emailAddress;
@NotEmpty(message = "Please enter password.",groups = Validationorder.Step1.class)
private String password; }
我已将“jboss-deployment-structure”添加到“WEB-INF”目录。
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="javax.validation.api" />
</exclusions>
</deployment>
</jboss-deployment-structure>
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>tomcat-embed-websocket</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>compile</scope>
<optional>true</optional>
<exclusions>
<exclusion>
<artifactId>tomcat-embed-websocket</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>7.0.1.Final</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
错误仍然存在。有想法吗?
它在 Netbeans 8.2 + Apache Tomcat
中运行良好解决方法
您应该使用 spring-boot-starter-validation 而不是添加库。
所以删除:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>7.0.1.Final</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
同时删除lombok的版本。这个已经被spring boot parent定义了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。