【问题标题】:set permissions Hibernate Validator etc. via Java policy file通过 Java 策略文件设置权限 Hibernate Validator 等
【发布时间】:2021-11-02 07:00:37
【问题描述】:

仍然进入我的原始项目(仅为@Entity 中的@Pattern 练习而建立,没有任何 Spring 框架和 servlet):

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 persistence


    【解决方案1】:

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

    【讨论】:

    • 如何证明?项目里面有所有需要的jar,和Spring一样可以下载。我对任何缺少的导入都没有错误。也许我应该在persistence.xml 中注明我的EntityValidator 班级,但我不知道如何。
    • 您如何调试到javax.validation.Validation.GenericBootstrapImpl#configure 并自己弄清楚它为什么找不到提供程序。您可能会看到它尝试加载 javax.validation.Validation.GetValidationProviderListAction#loadProviders 中的提供程序,但类加载器很可能没有引用包含提供程序的 JAR。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2023-03-08
    • 2011-06-27
    • 1970-01-01
    • 2012-03-19
    • 2014-07-03
    • 2020-08-27
    相关资源
    最近更新 更多