From 054ce2865c6bfcaf67fae3cd11eac47b47830450 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 3 Nov 2017 14:40:32 +0000 Subject: [PATCH] Protect against partial visibility of Bean Validation API On WebSphere Liberty, the javax.validation package may be visible but other javax.validation packages upon which it depends may not be visible. This can lead to an incorrect assumption that the Bean Validation API is available when, in fact, it is only partially available. Add an additional check for the availability of a class in the javax.validation.bootstrap package to ensure that it's not just the javax.validation package that's available. Closes gh-10877 --- .../ConfigurationPropertiesBindingPostProcessor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java b/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java index e08a7476e97..62ee9b20db4 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java @@ -84,7 +84,8 @@ public class ConfigurationPropertiesBindingPostProcessor implements BeanPostProc public static final String VALIDATOR_BEAN_NAME = "configurationPropertiesValidator"; private static final String[] VALIDATOR_CLASSES = { "javax.validation.Validator", - "javax.validation.ValidatorFactory" }; + "javax.validation.ValidatorFactory", + "javax.validation.bootstrap.GenericBootstrap" }; private static final Log logger = LogFactory .getLog(ConfigurationPropertiesBindingPostProcessor.class);