Allow package-private main classes to be used with Devtools

Fixes gh-35858
pull/35903/head
Andy Wilkinson 1 year ago
parent ad0ce41f8a
commit 984dc1d58f

@ -21,7 +21,7 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.context.WebServerPortFileWriter; import org.springframework.boot.web.context.WebServerPortFileWriter;
@SpringBootApplication @SpringBootApplication
public class DevToolsTestApplication { class DevToolsTestApplication {
public static void main(String[] args) { public static void main(String[] args) {
new SpringApplicationBuilder(DevToolsTestApplication.class).listeners(new WebServerPortFileWriter(args[0])) new SpringApplicationBuilder(DevToolsTestApplication.class).listeners(new WebServerPortFileWriter(args[0]))

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2020 the original author or authors. * Copyright 2012-2023 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.
@ -46,6 +46,7 @@ class RestartLauncher extends Thread {
try { try {
Class<?> mainClass = Class.forName(this.mainClassName, false, getContextClassLoader()); Class<?> mainClass = Class.forName(this.mainClassName, false, getContextClassLoader());
Method mainMethod = mainClass.getDeclaredMethod("main", String[].class); Method mainMethod = mainClass.getDeclaredMethod("main", String[].class);
mainMethod.setAccessible(true);
mainMethod.invoke(null, new Object[] { this.args }); mainMethod.invoke(null, new Object[] { this.args });
} }
catch (Throwable ex) { catch (Throwable ex) {

@ -59,6 +59,7 @@
<suppress files="DeprecatedElasticsearchRestClientProperties\.java" checks="SpringMethodVisibility" /> <suppress files="DeprecatedElasticsearchRestClientProperties\.java" checks="SpringMethodVisibility" />
<suppress files="DeprecatedElasticsearchRestClientProperties\.java" checks="SpringMethodVisibility" /> <suppress files="DeprecatedElasticsearchRestClientProperties\.java" checks="SpringMethodVisibility" />
<suppress files="DeprecatedReactiveElasticsearchRestClientProperties\.java" checks="SpringMethodVisibility" /> <suppress files="DeprecatedReactiveElasticsearchRestClientProperties\.java" checks="SpringMethodVisibility" />
<suppress files="DevToolsTestApplication\.java" checks="SpringMethodVisibility" />
<suppress files="DevToolsR2dbcAutoConfigurationTests" checks="HideUtilityClassConstructor" /> <suppress files="DevToolsR2dbcAutoConfigurationTests" checks="HideUtilityClassConstructor" />
<suppress files="AbstractLaunchScriptIntegrationTests" checks="IllegalImport" /> <suppress files="AbstractLaunchScriptIntegrationTests" checks="IllegalImport" />
<suppress files="SpringBootVersion" checks="JavadocPackage" /> <suppress files="SpringBootVersion" checks="JavadocPackage" />

Loading…
Cancel
Save