簡體   English   中英

在 JBOSS 中找不到約束“javax.validation.constraints.NotEmpty”錯誤的驗證器

[英]No validator could be found for constraint 'javax.validation.constraints.NotEmpty' error in JBOSS

我有一個 SpringBoot 版本的“ 2.3.9.RELEAS E”應用程序。

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'

驗證 class 如下

@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 引導父級定義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM