我正在嘗試使用hibernate驗證器來工作gwt驗證。我照着在http://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/validation/gwt編譯期間的GWT驗證錯誤 - 沒有可用的源代碼
我.gwt.xml文件樣本驗證項目,隨後從http://code.google.com/p/google-web-toolkit/wiki/BeanValidation步驟和配置我的項目包含:
<inherits name="org.hibernate.validator.HibernateValidator" />
和我的自定義驗證工廠:
<replace-with class="my.package.here.client.validation.ValidatorFactory">
<when-type-is class="javax.validation.ValidatorFactory" />
</replace-with>
在開發模式下,驗證在客戶端和服務器端都很完美,但是當嘗試gwt編譯時,我得到:
gwtc-production:
[java] Compiling module my.package.MyModule
[java] Validating newly compiled units
[java] [ERROR] Errors in 'jar:file:/hibernate-validator-4.2.0.Final-sources.jar!/org/hibernate/validator/constraints/impl/FutureValidatorForReadableInstant.java'
[java] [ERROR] Line 32: No source code is available for type org.joda.time.ReadableInstant; did you forget to inherit a required module?
[java] [ERROR] Errors in 'jar:file:/hibernate-validator-4.2.0.Final-sources.jar!/org/hibernate/validator/constraints/impl/FutureValidatorForReadablePartial.java'
[java] [ERROR] Line 32: No source code is available for type org.joda.time.ReadablePartial; did you forget to inherit a required module?
[java] [ERROR] Errors in 'jar:file:/hibernate-validator-4.2.0.Final-sources.jar!/org/hibernate/validator/constraints/impl/PastValidatorForReadableInstant.java'
[java] [ERROR] Errors in 'jar:file:/hibernate-validator-4.2.0.Final-sources.jar!/org/hibernate/validator/constraints/impl/SafeHtmlValidator.java'
[java] [ERROR] Line 22: The import org.jsoup cannot be resolved
[java] [ERROR] Line 23: The import org.jsoup cannot be resolved
[java] [ERROR] Line 35: Whitelist cannot be resolved to a type
[java] [ERROR] Line 40: Whitelist cannot be resolved to a type
[java] [ERROR] Line 40: Whitelist cannot be resolved
[java] [ERROR] Line 43: Whitelist cannot be resolved to a type
[java] [ERROR] Line 43: Whitelist cannot be resolved
[java] [ERROR] Line 46: Whitelist cannot be resolved to a type
[java] [ERROR] Line 46: Whitelist cannot be resolved
[java] [ERROR] Line 49: Whitelist cannot be resolved to a type
[java] [ERROR] Line 49: Whitelist cannot be resolved
[java] [ERROR] Line 52: Whitelist cannot be resolved to a type
[java] [ERROR] Line 52: Whitelist cannot be resolved
[java] [ERROR] Line 55: Whitelist cannot be resolved to a type
[java] [ERROR] Line 62: Jsoup cannot be resolved
[java] [ERROR] Line 62: Whitelist cannot be resolved to a type
[java] [ERROR] Errors in 'jar:file:gwt-user.jar!/org/hibernate/validator/super/org/hibernate/validator/engine/PathImpl.java'
[java] [ERROR] Line 72: The constructor NodeImpl(String) is undefined
[java] [ERROR] Line 84: The constructor NodeImpl(Path.Node) is undefined
[java] [ERROR] Line 95: The constructor NodeImpl(Path.Node) is undefined
[java] [ERROR] Line 202: The constructor NodeImpl(String) is undefined
[java] [ERROR] Line 204: The method setInIterable(boolean) is undefined for the type NodeImpl
[java] [ERROR] Line 209: The method setIndex(Integer) is undefined for the type NodeImpl
[java] [ERROR] Line 212: The method setKey(String) is undefined for the type NodeImpl
[java] [ERROR] Aborting compile due to errors in some input files
顯然有一些源jar我失蹤。我有(其中包括)在我的類路徑:
hibernate-validator-4.2.0.Final.jar
hibernate-validator-4.2.0.Final-sources.jar
我也嘗試添加joda-time-2.1.jar
,joda-time-2.1-sources.jar
,jsoup-1.6.3.jar
和jsoup-1.6.3-sources.jar
。
不應該繼承org.hibernate.validator.HibernateValidator照顧超級源,所以我不需要提供源代碼?任何人都可以看到我失蹤的東西嗎?
我使用Hibernate 3.6.9實際,但切換hibernate驗證器的版本爲4.1.0.Final解決了它。謝謝!我爲它創建了一個問題:http://code.google.com/p/google-web-toolkit/issues/detail?id=7661 – Jonas
謝謝;編輯的答案以清楚地說明我提到了Hibernate Validator(而不是Hibernate ORM)並且包含了問題的鏈接。 –