0

我正在尝试使用GWT BeanValidation验证某些内容,但这两条线给我带来了一些麻烦:

Validator validator=Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<Contact>> violations = validator.validate(contact, Default.class);

问题是,我已经导入了相应的类:

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.groups.Default;

但是,代码中的 Validator、Validation、ConstraingViolation 和 Default 引用仍以红色下划线显示,它们显示的错误是:

javax.validation.Validator can not be found in source packages. Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly.

我已经检查了必要的 lib validation-api-1.0.0.GA.jar 是否在类路径中,一切看起来都很正常。

任何人碰巧知道可能是什么问题?

谢谢!!

4

2 回答 2

1

我只看到两种可能

  1. 检查 jar 文件的大小,无论是在构建路径指向的本地 maven 存储库中,还是在 eclipse 中通过浏览其源代码以仔细检查它来检查它:)
  2. 你继承了这是使用的任何 awt 模块吗?你能检查它的语法还是真的需要它?
于 2011-03-27T17:55:03.733 回答
0

你的类路径中有验证器实现吗?AFAIK,javax.validation 只是 API(接口),您需要一个实际的验证器实现才能使用它。参见例如Hibernate Validator

于 2011-03-27T14:56:55.563 回答