diff --git a/loader/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/PropertiesLauncher.java b/loader/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/PropertiesLauncher.java index e31d15243275..eddebc7e102f 100644 --- a/loader/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/PropertiesLauncher.java +++ b/loader/spring-boot-loader/src/main/java/org/springframework/boot/loader/launch/PropertiesLauncher.java @@ -136,8 +136,6 @@ public class PropertiesLauncher extends Launcher { private final File homeDirectory; - private final List paths; - private final Properties properties = new Properties(); public PropertiesLauncher() throws Exception { @@ -148,7 +146,6 @@ public PropertiesLauncher() throws Exception { this.archive = archive; this.homeDirectory = getHomeDirectory(); initializeProperties(); - this.paths = getPaths(); this.classPathIndex = getClassPathIndex(this.archive); } @@ -295,7 +292,7 @@ private void addToSystemProperties() { private List getPaths() throws Exception { String path = getProperty(PATH); List paths = (path != null) ? parsePathsProperty(path) : Collections.emptyList(); - debug.log("Nested archive paths: %s", this.paths); + debug.log("Nested archive paths: %s", paths); return paths; } diff --git a/loader/spring-boot-loader/src/test/java/org/springframework/boot/loader/launch/PropertiesLauncherTests.java b/loader/spring-boot-loader/src/test/java/org/springframework/boot/loader/launch/PropertiesLauncherTests.java index d12b13bf8f3a..d434c8ec1b96 100644 --- a/loader/spring-boot-loader/src/test/java/org/springframework/boot/loader/launch/PropertiesLauncherTests.java +++ b/loader/spring-boot-loader/src/test/java/org/springframework/boot/loader/launch/PropertiesLauncherTests.java @@ -127,7 +127,7 @@ void testUserSpecifiedConfigName() throws Exception { System.setProperty("loader.config.name", "foo"); this.launcher = new PropertiesLauncher(); assertThat(this.launcher.getMainClass()).isEqualTo("my.Application"); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")).hasToString("[etc/]"); + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")).hasToString("[etc/]"); } @Test @@ -141,14 +141,14 @@ void testRootOfClasspathFirst() throws Exception { void testUserSpecifiedDotPath() throws Exception { System.setProperty("loader.path", "."); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")).hasToString("[.]"); + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")).hasToString("[.]"); } @Test void testUserSpecifiedSlashPath() throws Exception { System.setProperty("loader.path", "jars/"); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")).hasToString("[jars/]"); + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")).hasToString("[jars/]"); Set urls = this.launcher.getClassPathUrls(); assertThat(urls).areExactly(1, endingWith("app.jar")); } @@ -158,7 +158,7 @@ void testUserSpecifiedWildcardPath() throws Exception { System.setProperty("loader.path", "jars/*"); System.setProperty("loader.main", "demo.Application"); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")).hasToString("[jars/]"); + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")).hasToString("[jars/]"); this.launcher.launch(new String[0]); waitFor("Hello World"); } @@ -168,7 +168,7 @@ void testUserSpecifiedJarPath() throws Exception { System.setProperty("loader.path", "jars/app.jar"); System.setProperty("loader.main", "demo.Application"); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")).hasToString("[jars/app.jar]"); + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")).hasToString("[jars/app.jar]"); this.launcher.launch(new String[0]); waitFor("Hello World"); } @@ -177,7 +177,7 @@ void testUserSpecifiedJarPath() throws Exception { void testUserSpecifiedRootOfJarPath() throws Exception { System.setProperty("loader.path", "jar:file:./src/test/resources/nested-jars/app.jar!/"); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")) + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")) .hasToString("[jar:file:./src/test/resources/nested-jars/app.jar!/]"); Set urls = this.launcher.getClassPathUrls(); assertThat(urls).areExactly(1, endingWith("foo.jar!/")); @@ -216,7 +216,7 @@ void testUserSpecifiedNestedJarPath() throws Exception { System.setProperty("loader.path", "nested-jars/nested-jar-app.jar!/BOOT-INF/classes/"); System.setProperty("loader.main", "demo.Application"); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")) + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")) .hasToString("[nested-jars/nested-jar-app.jar!/BOOT-INF/classes/]"); this.launcher.launch(new String[0]); waitFor("Hello World"); @@ -236,7 +236,7 @@ void testUserSpecifiedJarPathWithDot() throws Exception { System.setProperty("loader.path", "./jars/app.jar"); System.setProperty("loader.main", "demo.Application"); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")).hasToString("[jars/app.jar]"); + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")).hasToString("[jars/app.jar]"); this.launcher.launch(new String[0]); waitFor("Hello World"); } @@ -246,7 +246,7 @@ void testUserSpecifiedClassLoader() throws Exception { System.setProperty("loader.path", "jars/app.jar"); System.setProperty("loader.classLoader", URLClassLoader.class.getName()); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")).hasToString("[jars/app.jar]"); + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")).hasToString("[jars/app.jar]"); this.launcher.launch(new String[0]); waitFor("Hello World"); } @@ -256,7 +256,7 @@ void testUserSpecifiedClassPathOrder() throws Exception { System.setProperty("loader.path", "more-jars/app.jar,jars/app.jar"); System.setProperty("loader.classLoader", URLClassLoader.class.getName()); this.launcher = new PropertiesLauncher(); - assertThat(ReflectionTestUtils.getField(this.launcher, "paths")) + assertThat(ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")) .hasToString("[more-jars/app.jar, jars/app.jar]"); this.launcher.launch(new String[0]); waitFor("Hello Other World"); @@ -325,8 +325,8 @@ void testLoadPathCustomizedUsingManifest() throws Exception { manifest.write(manifestStream); } this.launcher = new PropertiesLauncher(); - assertThat((List) ReflectionTestUtils.getField(this.launcher, "paths")).containsExactly("/foo.jar", - "/bar/"); + assertThat((List) ReflectionTestUtils.invokeMethod(this.launcher, "getPaths")) + .containsExactly("/foo.jar", "/bar/"); } @Test