2011-05-25 12 views
5

OK, próbuję uzyskać walidator pracujący z formą jsp. Właśnie zacząłem używać maven, więc to wszystko jest trochę nowe ... jaki jest najlepszy sposób lokalizowania które repozytorium powinienem wybrać dla powyższej klasy? Mam już następujące wpisy do walidacji:Źródło org.hibernate.validator.engine.ConfigurationImpl

<dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
    </dependency> 


    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator-annotation-processor</artifactId> 
     <version>4.1.0.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.1.0.Final</version> 
    </dependency> 

Próbowałem ładowanie się hibernacji, ale złamał kompilacji: Używam zaćmienie za wytrwałość, a budynek nie po przeciągnięciu w ogromnej liczbie bibliotek nieodzowna.

Pomyślałem, że powinienem dostać lepszą strategię niż tylko przeszywający precz z repozytoriów ..

Żeby było jasne: ja dostaję błąd:

java.lang.NoClassDefFoundError: Nie można zainicjować class org.hibernate.validator.engine.ConfigurationImpl

Powinien być w zależności od walidatora hibernacji, więc nie zachowuj się tak, jak bym się spodziewał.

Odpowiedz

5

Masz slf4j-api na ścieżce klas (to powinno być wciągnięte przez HV, ale żeby się upewnić)?

Błąd NoClassDefFoundError nie oznacza, że ​​ConfigurationImpl jest niedostępny, ale nie można go załadować (zwykle z powodu problemów z inicjalizatorem statycznym lub z importu obciążonej klasy, które nie są dostępne).

Nota boczna na temat korzystania z procesora adnotacji: zamiast dodawać go jako zależność od projektu, można również użyć go za pomocą wtyczki procesora adnotacji Maven. W ten sposób nie można przypadkowo zaimportować klas z niego w projekcie. Konfiguracja została szczegółowo opisana w walidatorze Hibernacji reference guide.

+0

Pomyślałem, że tak było ... już wypróbowałem slf4j-api, ale to nie wydaje się naprawiać problemu .. Pomyślałem, że musi istnieć lepszy sposób niż losowe wypróbowywanie bibliotek. Na razie cofnęliśmy się od JSR-303, ponieważ nie sądzę, żeby i tak naprawił wszystkie moje problemy z weryfikacją, ale kiedy ponownie odwiedzę, przyjrzę się wtyczce procesora. – ohp

+0

Nie jestem pewien, czy pomógł OP, ale z pewnością pomógł mi rozwiązać ten wyjątek. Dzięki! – Lion

3

OP prawdopodobnie już nie będzie go potrzebować, ale może ktoś inny to zrobi.

miałem podobny problem z połączeniem Hibernate Validator 4.3 końcowy i slf4j 1.5.11 Wreszcie znalazłem parę wersji, które chcą współpracować mianowicie: -Hibernate Validator Finał 4,2 -slf4j 1.6 .6