Merge branch '2.1.x' into 2.2.x
Closes gh-21174
This commit is contained in:
@@ -62,6 +62,7 @@ import org.springframework.core.env.PropertySource;
|
||||
import org.springframework.core.io.DefaultResourceLoader;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.springframework.core.io.support.ResourcePatternResolver;
|
||||
import org.springframework.core.io.support.SpringFactoriesLoader;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -639,6 +640,8 @@ public class ConfigFileApplicationListener implements EnvironmentPostProcessor,
|
||||
for (String path : asResolvedSet(this.environment.getProperty(propertyName), null)) {
|
||||
if (!path.contains("$")) {
|
||||
path = StringUtils.cleanPath(path);
|
||||
Assert.state(!path.startsWith(ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX),
|
||||
"Classpath wildard patterns cannot be used as a search location");
|
||||
if (!ResourceUtils.isUrl(path)) {
|
||||
path = ResourceUtils.FILE_URL_PREFIX + path;
|
||||
}
|
||||
|
||||
@@ -698,6 +698,15 @@ class ConfigFileApplicationListenerTests {
|
||||
matchingPropertySource("applicationConfig: [file:" + location.replace(File.separatorChar, '/') + "]"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void classpathWildcardResourceThrowsException() {
|
||||
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment,
|
||||
"spring.config.location=classpath*:override.properties");
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy(() -> this.initializer.postProcessEnvironment(this.environment, this.application))
|
||||
.withMessage("Classpath wildard patterns cannot be used as a search location");
|
||||
}
|
||||
|
||||
@Test
|
||||
void propertySourceAnnotation() {
|
||||
SpringApplication application = new SpringApplication(WithPropertySource.class);
|
||||
|
||||
Reference in New Issue
Block a user