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 29c0898e568..81c547a5f07 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 @@ -45,7 +45,7 @@ public class CodegenConfigLoader { // else try to load directly try { - return (CodegenConfig) Class.forName(name).newInstance(); + return (CodegenConfig) Class.forName(name).getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new GeneratorNotFoundException("Can't load config class with name '".concat(name) + "'\nAvailable:\n" + availableConfigs.toString(), e); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModelFactory.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModelFactory.java index 4f781ed8b7c..bd7c72d874d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModelFactory.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModelFactory.java @@ -17,6 +17,7 @@ package org.openapitools.codegen; +import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map; @@ -35,7 +36,7 @@ public final class CodegenModelFactory { throw new IllegalArgumentException(implementation.getSimpleName() + " doesn't extend " + type.getDefaultImplementation().getSimpleName()); } try { - implementation.newInstance(); + implementation.getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new IllegalArgumentException(e); } @@ -46,8 +47,8 @@ public final class CodegenModelFactory { public static T newInstance(CodegenModelType type) { Class classType = typeMapping.get(type); try { - return (T) (classType != null ? classType : type.getDefaultImplementation()).newInstance(); - } catch (IllegalAccessException | InstantiationException e) { + return (T) (classType != null ? classType : type.getDefaultImplementation()).getDeclaredConstructor().newInstance(); + } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { throw new RuntimeException(e); } }