Use ClassLoader that will load Yaml to check if it's present

Fixes gh-27133
pull/27537/head
Andy Wilkinson 3 years ago
parent 9d64269552
commit b5587b053d

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2019 the original author or authors. * Copyright 2012-2021 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -43,7 +43,7 @@ public class YamlPropertySourceLoader implements PropertySourceLoader {
@Override @Override
public List<PropertySource<?>> load(String name, Resource resource) throws IOException { public List<PropertySource<?>> load(String name, Resource resource) throws IOException {
if (!ClassUtils.isPresent("org.yaml.snakeyaml.Yaml", null)) { if (!ClassUtils.isPresent("org.yaml.snakeyaml.Yaml", getClass().getClassLoader())) {
throw new IllegalStateException( throw new IllegalStateException(
"Attempted to load " + name + " but snakeyaml was not found on the classpath"); "Attempted to load " + name + " but snakeyaml was not found on the classpath");
} }

Loading…
Cancel
Save