Obtendo a exceção javax.validation.NoProviderFoundException mesmo depois de adicionar as dependências

Nov 29 2020

Eu sou novo em Java e maven. Posso estar perdendo algo óbvio, mas não sou capaz de descobrir.

Eu estava tentando adicionar validações javax ao meu projeto seguindo o link: https://www.baeldung.com/javax-validation

E eu adicionei as seguintes dependências

      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.1.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>6.0.13.Final</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.el</artifactId>
        <version>3.0.0</version>
      </dependency>

Eu tentei ids de grupo org.hibernate e org.hibernate.validator também.

Mas eu estava recebendo um erro de tempo de execução durante a execução de buildDefaultValidatorFactory () de:

import javax.validation.Validation;
import javax.validation.Validator;
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();

Eu estava recebendo o seguinte erro

Method threw 'javax.validation.NoProviderFoundException' exception.
Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.

o que estou perdendo? Deixe-me saber se você precisar de algumas informações importantes. Estou lutando contra isso há horas. Então, obrigado antecipadamente.

Respostas

KarmaJ Nov 29 2020 at 22:26

Remova a validação de hibernação e glassfish. Apenas mantenha javax um. Limpe seu projeto adequadamente.

Em seguida, faça o direito de fazer project-> runas-> maven build -> clean install uma vez.

Ao mesmo tempo, você pode atualizar seu projeto e clicar em projeto -> maven> atualizar projeto