亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果將 Bean 驗證配置放在庫 jar 中,則不會拾取

如果將 Bean 驗證配置放在庫 jar 中,則不會拾取

哈士奇WWW 2022-09-14 16:28:00
我在 Java EE 7 Web 應用程序中使用 Bean 驗證 1.1。驗證工作正常,但我很難讓它在野蠅和自由上工作。我通過驗證配置了一個自定義消息插值器.xml它被放置在一個庫罐中:ROOT|-- WEB-INF    |-- lib        |-- my-validation.jar            |-- mypackage                |-- MyMessageInterpolator.class            |-- META-INF                |--validation.xml當部署到野蠅14時,一切都按預期工作。然而,在 Liberty 上可以找到 19,但在驗證期間(例如,在 REST 資源中使用時)未被調用。MyMessageInterpolator@Valid然后,我直接移動到 Web 應用程序(不移動消息插值器本身):validation.xmlROOT|-- WEB-INF    |-- classes        |-- META-INF            |-- validation.xml    |-- lib        |-- my-validation.jar            |-- mypackage                |-- MyMessageInterpolator.class這是在Liberty上工作,但我預計當它被放置在一個圖書館罐子里時也能工作。豆驗證 1.1 規范說:validation.xml除非明確忽略 [...],否則 a 會考慮 中可用的配置。ConfigurationMETA-INF/validation.xml我在這里錯過了什么?
查看完整描述

2 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

我同意安迪對自由的默認行為的回答。但是,有一個屬性 ,可以對其進行配置以獲取您要查找的行為。通過設置(默認值為 true),將掃描整個應用程序以查找單個應用程序并應用于所有模塊。這樣做的缺點是只能有一個驗證.xml在您的應用程序中定義。如果找到多個部署錯誤。com.ibm.ws.beanvalidation.allowMultipleConfigsPerAppcom.ibm.ws.beanvalidation.allowMultipleConfigsPerApp=falseMETA-INF/validation.xml

有關設置此屬性的更多詳細信息,請參閱以下鏈接:

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

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


查看完整回答
反對 回復 2022-09-14
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

這似乎正在按預期工作。豆驗證規范在 JavaEE 或 JavaSE 環境中工作,所以當它說 時,這通常是相對于在 JavaEE 環境中的。META-INF/validation.xmlWEB-INF/classes/

為了進行比較,如果要使用JPA的持久性.xml在.war模塊中,則需要將其放在.與CDI的豆子.xml相同,它進入.war模塊。WEB-INF/classes/META-INF/persistence.xmlWEB-INF/classes/beans.xml

它可能在其他地方也是允許的,但從我所看到的支持其他位置不是由規范定義的。


查看完整回答
反對 回復 2022-09-14
  • 2 回答
  • 0 關注
  • 87 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號