Mendapatkan pengecualian javax.validation.NoProviderFoundException bahkan setelah menambahkan dependensi

Nov 29 2020

Saya baru mengenal Java dan maven. Saya mungkin melewatkan sesuatu yang jelas, tetapi saya tidak dapat memahaminya.

Saya mencoba menambahkan validasi javax ke proyek saya dengan mengikuti tautan: https://www.baeldung.com/javax-validation

Dan saya telah menambahkan dependensi berikut

      <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>

Saya telah mencoba id grup org.hibernate dan org.hibernate.validator juga.

Tetapi saya mendapatkan error runtime selama eksekusi buildDefaultValidatorFactory () dari:

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

Saya mendapatkan kesalahan berikut

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.

Apa yang saya lewatkan? Beri tahu saya jika Anda memerlukan info penting. Saya telah bertengkar dengan ini selama berjam-jam. Jadi, terima kasih sebelumnya.

Jawaban

KarmaJ Nov 29 2020 at 22:26

Hapus validasi hibernate dan glassfish. Simpan saja javax satu. Bersihkan proyek Anda dengan benar.

Kemudian lakukan project-> runas-> maven build -> clean install sekali.

Pada saat yang sama Anda dapat memperbarui proyek Anda juga klik pada proyek -> maven> perbarui proyek