不要使用 Apache 作為部署描述子中的預設提供者

此規則會標示任何 org.apache.bval.jsr* (bval 1.1) 及 org.apache.bval.jsr303* (bval 1.0) validation.xml 部署描述子中的套件參照。 Bean 驗證 2.0 以及更新版本使用 Hibernate Validator 實作,而不是用於 Bean 驗證 1.0 和 1.1 的 Apache BVal 實作。 所提供的自動化修正程式會改寫配置,以使用「 Hibernate 驗證器」類別。

例如,假設 validation.xml 檔中有下列元素:

<default-provider>org.apache.bval.jsr.ApacheValidationProvider</default-provider>
<message-interpolator>org.apache.bval.jsr.DefaultMessageInterpolator</message-interpolator>
<traversable-resolver>org.apache.bval.jsr.resolver.DefaultTraversableResolver</traversable-resolver>
<constraint-validator-factory>org.apache.bval.jsr.DefaultConstraintValidatorFactory</constraint-validator-factory>
<parameter-name-provider>org.apache.bval.jsr.parameter.DefaultParameterNameProvider</parameter-name-provider>

自動修正程式會使用 Hibernate 驗證器值來改寫值:

<default-provider>org.hibernate.validator.HibernateValidator</default-provider>
<message-interpolator>org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator</message-interpolator>
<traversable-resolver>org.hibernate.validator.engine.resolver.DefaultTraversableResolver</traversable-resolver>
<constraint-validator-factory>org.hibernate.validator.engine.ConstraintValidatorFactoryImpl</constraint-validator-factory>

預設值 parameter-name-provider 是的內部套件類別 org.hibernate.validator.internal.engine.DefaultParameterNameProvider -我知道 自動修正程式會刪除設定,以便使用預設值。

自訂配置複製到應用程式建置檔,以啟用修正程式自動化。

如需在 WebSphere Liberty 中配置驗證的相關資訊,請參閱 Bean 驗證 2.0 文件。