![](/img/trans.png)
[英]javax.validation.ValidationException: Unable to find a default provider
[英]javax.validation.ValidationException: Unable to find default provider
我目前正在使用Spring MVC Web應用程序並嘗試使用@Valid注釋掛鈎驗證。 當我啟動應用程序時,我得到以下異常:
javax.validation.ValidationException: Unable to find a default provider
我在類路徑上有Hibernate Validator 3.1.0.GA以及javax驗證1.0.0.GA,Hibernate Core 3.3.1.GA和Hibernate Annotations 3.4.0.GA.
在那些我沒有看到的版本中是否存在不兼容性,或者是否有人會想到為什么我仍然在類路徑上使用Hibernate Validator獲得此異常的原因?
干杯,
帽子
請參閱此答案: https : //stackoverflow.com/a/3989936/325742
要修復,添加此maven依賴Hibernate Validator Annotation Processor 。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>4.1.0.Final</version>
</dependency>
這是該神器的最新穩定版本,從看到這里
假設你有一個NoClassDefFoundError
聲明沒有找到類org.postgresql.Driver
。
使用Jarvana搜索可以提供org.postgresql.Driver
的依賴項,如下所示: http : //www.jarvana.com/jarvana/search? search_type = class&java_class = org.postgresql.Driver
將上述依賴項轉換為maven依賴項格式:
<dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.1-901.jdbc4</version> </dependency>
確認上述可在Maven的中央通過搜索像這樣 :
g:"postgresql" AND a:"postgresql"
(其中, g
表示的GroupID和a
代表的artifactId)
最后,將它添加到您的pom.xml中
如果您對所需的依賴關系有一個大致的了解,或者可以找出給定列表所需的依賴關系,那么m2e的依賴關系搜索可以是向pom.xml添加依賴關系的最快方法
腳步 :
AD標記在以下快照中:
在IntelliJ中,查找依賴項要容易得多。 您需要做的就是確保maven中央倉庫已被IntelliJ索引,如下所示:
然后,進入POM,做了DEP + Tab鍵 (或Alt鍵 + 插入如圖所示這里 ),這是你會得到什么:
如果您所在的類具有未解析的導入,則快速修復程序為您提供了通過在缺少的類/包上執行Alt + Enter來搜索和添加相應的maven存儲庫的選項:
真棒,我說!
Hibernate Validator 3.1不是JSR303提供程序。 您需要升級到Hibernate Validator 4或更高版本。
沒有Hibernate,這發生在我身上。
在我的電腦上運行良好,它在我的EC2 Linux服務器上無效。
原因是/usr/share/tomcat/lib
下存在validation-api-1.0.0.GA.jar
文件。
validation-api-1.0.0.GA.jar
刪除后,效果很好。
在我的情況下,我遇到了同樣的問題,但它發生了,因為由maven下載的hibernate-core版本4.1.8.Final的jar已損壞。 我轉到版本4.1.6.Final,它開始工作。 我正在使用STS和Spring存儲庫。
希望這有助於某人。
在相同的情況下,我只更新我的Jar版本,用於從hibernate-anotation和hibernate-common-annotation到下面列出的Hibernate4 anotations的anotations。 對於Hibernate 4,你可以使用這個罐子 -
1-hibernate-commons-annotations-4.0.5.Final 2-hibernate-validator-4.2.0.Final
希望這對你也有用。
我收到以下錯誤:
調用init方法失敗; 嵌套異常是javax.validation.ValidationException:無法獲取可用的提供程序解析程序
我發現在我的WEB-INF / lib目錄中,我在以下兩個jar文件中都有兩個版本的Validator.class:
我從WEB-INF / lib目錄中刪除了com.springsource.javax.validation-1.0.0.GA.jar,因為它較舊且不再受支持。 這樣做之后,我的應用程序運行得很好。 我從其他帖子中了解到,我的問題與類路徑上相同文件的重復版本有關。 我在閱讀Spring 3 Validation后想出了哪個文件導致了問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.