如果放置在库jar中,则无法获取Bean验证配置

tamm0r:

我在Java EE 7 Web应用程序中使用Bean Validation 1.1。验证工作正常,但是我很难使它在Wildfly和Liberty上都能正常工作。

我已经通过validate.xml配置了一个自定义消息插入器,该消息插入器位于库jar中:

ROOT
|-- WEB-INF
    |-- lib
        |-- my-validation.jar
            |-- mypackage
                |-- MyMessageInterpolator.class
            |-- META-INF
                |--validation.xml

部署到Wildfly 14后,一切都会按预期进行。但是MyMessageInterpolator在Liberty 19 上找到了,但是在验证期间未调用(例如,@Valid在REST资源中使用时)。

然后,我validation.xml直接移动到Web应用程序中(而不移动消息插值器本身):

ROOT
|-- WEB-INF
    |-- classes
        |-- META-INF
            |-- validation.xml
    |-- lib
        |-- my-validation.jar
            |-- mypackage
                |-- MyMessageInterpolator.class

这在Liberty上有效,但我希望将它validation.xml放在库罐中时也可以使用Bean验证1.1规范说:

除非明确忽略,否则a Configuration将考虑可用的配置META-INF/validation.xml

我在这里想念什么?

内森·米特尔斯塔特(Nathan Mittlestat):

我同意安迪(Andy)对自由的默认行为的回答。但是,有一个属性,com.ibm.ws.beanvalidation.allowMultipleConfigsPerApp可以配置为获取所需的行为。通过设置com.ibm.ws.beanvalidation.allowMultipleConfigsPerApp=false(默认值为true),将扫描整个应用程序中的单个应用程序并将其META-INF/validation.xml应用于所有模块。缺点是在您的应用程序中只能定义一个validation.xml。如果发现多个,则会发生部署错误。

有关设置此属性的更多详细信息,请参见以下链接:

https://www.ibm.com/support/knowledgecenter/zh-CN/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/rwlp_restrict.html#rwlp_restrict__BeanvalidationFeatureRestrict

http://www-01.ibm.com/support/docview.wss?uid=swg1PI43130

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring Boot:如果从jar运行,则无法访问资源文件的原因是什么?

如果线程启动执行程序,则无法从Future <?>和SwingWorker获取ArrayIndexOutOfBoundsException

核心数据错误:如果没有在范围内使用NSManagedObjectContext,则无法获取

如果类名是数字,则无法按类名获取元素

如果我使用自定义ID在mongoDB中插入记录,则无法通过findOne()获取记录

如果故事为“进行中”,则无法关闭史诗

如果其中之一的内容较长,则无法在一行中获取div

如果代码不为0,则无法获取erlang escript退出代码

错误:如果未配置默认本地部署,则无法上传到虚拟存储库(Docker工件)

如果不配置Document和PdfWriter,则无法配置PdfReader

如果无法在Jenkinsfile中运行,则无法定期禁用

如果配置了部署表单源控件,则无法从门户添加WebJob

在库中获取文件(汇总)

猫鼬:如果没有数据字段,则无法从.chunk集合中获取文件文档

如果验证了帐户,则无法通过API更改“ company [tax_id]”。条纹

如果URL中有连字符,则无法从服务器获取数据

如果启用了Catalyst会话或身份验证插件,则无法修改配置

如果语句正常工作,则无法获取这些javascript

在库中配置spray.can.client

如果表名包含数字字符,则无法从表中获取数据

Hazelcast:如果使用编程配置,则无法加入群集

Django:如果没有初始外键值,则无法验证表单

如果我仅将jQuery放在</ body>之前,则无法使用jQuery,但如果将其放在<head>中,则无法使用

Bootstrap 数据表:如果我通过 AJAX 获取数据,则无法在展开的行中显示数据

空手道 - 如果 DTD 不可访问,则无法验证 XML 响应

如果我为 from 和 to 选择相同的日期,则无法获取数据

如果不将 XPath 放置在 DOM 中,则无法在 XMLDoc 上评估 XPath

如果 for 循环放置在不同的代码行中,则无法获取值

如果指定了类型,则无法在 typescript 中调用 setter 函数