我在Eclipse Oxygen中使用Payara Server 4.1.1.171和Webproject很长一段时间没有任何问题。我在程序目录之外有我的域文件,所以我可以在版本之间轻松切换(之前我做了几次)。
现在,当我想切换到版本4.1.1.174时,我的项目不再编译,因为
的导入javax.validation.constraints.NotNull
javax.validation.constraints.Size
javax.validation.constraints.Email
javax.validation.ConstraintValidator
javax.validation.ConstraintValidatorContext
等。找不到了。
我知道bean-validation.jar已重命名为validation.jar。但似乎Eclipse并没有将它添加到glassfish库列表中,原因我不知道。
当我将validation.jar复制到背书时,它会(自动)包含在glassfish系统库列表中,但问题只会改变 - >现在已经找不到hibernate.Email约束。
编辑: 即使我将新的validation-api.jar重命名为bean-validator.api(在某些地方被发现为解决方案),它也无法正常工作。 Eclipse不会将jar文件添加到Systemlibrary。当我在新服务器上部署项目时,它完美地运行。所以我想唯一的问题是Eclipse Glassfishtools没有添加正确的验证罐!
答案 0 :(得分:1)
您的Java类路径中至少需要Bean Validation API 2.0.0.Final JAR(validation-api-2.0.0.Final.jar
)。
答案 1 :(得分:0)
我将它添加到netbeans中的类路径中,编译不再有例外。但问题是: 为什么我们在使用Payara 171时不需要将它添加到类路径?
答案 2 :(得分:0)
“即使我将新的validation-api.jar重命名为bean-validator.api,在某些地方也可以找到它作为解决方案,但这是行不通的。”
您必须将其重命名为 bean-validator.jar (不是bean-validator.api)