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

此規則會標示 validation.xml 部署描述子中的任何 org.apache.bval.jsr* (bval 1.1) 及 org.apache.bval.jsr303* (bval 1.0) 套件參照。Bean 驗證 2.0 會使用休眠驗證器實作來取代 Apache BVal 實作(用於 Bean 驗證 1.0 及 1.1)。原始檔掃描器提供的快速修正程式會改寫配置以使用休眠驗證器類別。

例如,假設 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>

快速修正程式會使用休眠驗證器值來改寫下列值:

<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-providerorg.hibernate.validator.internal.engine.DefaultParameterNameProvider 的內部套件類別。快速修正程式會刪除此設定以便使用預設值。

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