通过 Java 策略文件设置权限、Hibernate Validator 等

set permissions Hibernate Validator etc. via Java policy file

提问人:Andrzej Więcławski 提问时间:9/4/2021 更新时间:9/13/2021 访问量:102

问:

仍在使用我的原始项目(仅在没有任何 Spring 框架和 servlet 的情况下进行@Entity的 @Pattern 练习):

Exception in thread "main" javax.validation.NoProviderFoundException: Unable to create a Configuration, because no Bean Validation provider could be found ...

我决定在 Jakarta 库中尝试它,并在 hibernate 操作手册点 1.1.3 中找到。“使用安全管理器运行”这样一个额外的、建议的配置行放在 java 策略文件中

但在我开始对我的文件进行配置测试之前,我想收集信息:如何引用我想在此文件中授权的库以进行适当的访问?$JAVA_HOME/lib/security/default.policy

我应该提供 jar 文件的直接路径还是仅指向完全限定的类名?正确的语法是什么?default.policy

Java Hibernate JPA 持久性

评论


答:

0赞 Christian Beikov 9/13/2021 #1

我不知道你认为你在做什么,但错误清楚地表明class-/module-path上没有可用的bean验证实现。它找不到提供程序的原因取决于您的项目。也许您没有将其指定为依赖项?无论如何,如果您需要进一步的帮助,则必须发布有关您的项目和运行时设置的更多信息。

评论

0赞 Andrzej Więcławski 9/13/2021
我该如何证明?项目中有所有必要的 jar,与 Spring 可以下载的 jar 相同。我没有关于任何缺少导入的错误。也许我应该指出我的班级,但我不知道怎么做。EntityValidatorpersistence.xml
1赞 Christian Beikov 9/13/2021
你调试并自己弄清楚为什么它找不到提供者怎么样。您可能会看到它尝试将提供程序加载到其中,但类加载器很可能没有引用包含提供程序的 JAR。javax.validation.Validation.GenericBootstrapImpl#configurejavax.validation.Validation.GetValidationProviderListAction#loadProviders