From 3ca7e6342fd03020e893e7f103cb6bc6ea277084 Mon Sep 17 00:00:00 2001 From: Adi Gerber <16128031+adigerber@users.noreply.github.com> Date: Mon, 15 Apr 2019 09:42:40 +0300 Subject: [PATCH] ServiceLoader now uses correct class loader every time (#2658) --- .../java/org/openapitools/codegen/CodegenConfigLoader.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfigLoader.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfigLoader.java index e05713658325..6aa2cb56bf1f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfigLoader.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfigLoader.java @@ -21,8 +21,6 @@ import java.util.ArrayList; import java.util.List; import java.util.ServiceLoader; -import static java.util.ServiceLoader.load; - public class CodegenConfigLoader { /** * Tries to load config class with SPI first, then with class name directly from classpath @@ -31,7 +29,7 @@ public class CodegenConfigLoader { * @return config class */ public static CodegenConfig forName(String name) { - ServiceLoader loader = load(CodegenConfig.class); + ServiceLoader loader = ServiceLoader.load(CodegenConfig.class, CodegenConfig.class.getClassLoader()); StringBuilder availableConfigs = new StringBuilder(); @@ -52,7 +50,7 @@ public class CodegenConfigLoader { } public static List getAll() { - ServiceLoader loader = ServiceLoader.load(CodegenConfig.class); + ServiceLoader loader = ServiceLoader.load(CodegenConfig.class, CodegenConfig.class.getClassLoader()); List output = new ArrayList(); for (CodegenConfig aLoader : loader) { output.add(aLoader);