diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java index 7c4fe76ffece..52908db7137e 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java @@ -79,6 +79,11 @@ private String classPathArg(boolean allowArgFile) { return this.path; } + @Override + public String toString() { + return this.path; + } + private Path createArgFile() throws IOException { Path argFile = Files.createTempFile("spring-boot-", ".argfile"); argFile.toFile().deleteOnExit(); @@ -121,9 +126,8 @@ static ClassPath of(List urls) { * @return a new {@link ClassPath} instance */ static ClassPath of(UnaryOperator getSystemProperty, List urls) { - boolean preferrArgFile = urls.size() > 1 && isWindows(getSystemProperty); - return new ClassPath(preferrArgFile, - urls.stream().map(ClassPath::toPathString).collect(JOIN_BY_PATH_SEPARATOR)); + boolean preferArgFile = urls.size() > 1 && isWindows(getSystemProperty); + return new ClassPath(preferArgFile, urls.stream().map(ClassPath::toPathString).collect(JOIN_BY_PATH_SEPARATOR)); } private static boolean isWindows(UnaryOperator getSystemProperty) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/ClassPathTests.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/ClassPathTests.java index b06c06ea4b0b..317c9d79fe2e 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/ClassPathTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/ClassPathTests.java @@ -85,6 +85,14 @@ void argsWhenMultipleUrlsNotOnWindowsUsesPath(@TempDir Path temp) throws Excepti assertThat(classPath.args(true)).containsExactly("-cp", path1 + File.pathSeparator + path2); } + @Test + void toStringShouldReturnClassPath(@TempDir Path temp) throws Exception { + Path path1 = temp.resolve("test1.jar"); + Path path2 = temp.resolve("test2.jar"); + ClassPath classPath = ClassPath.of(onLinux(), List.of(path1.toUri().toURL(), path2.toUri().toURL())); + assertThat(classPath.toString()).isEqualTo(path1 + File.pathSeparator + path2); + } + private UnaryOperator onWindows() { return Map.of("os.name", "windows")::get; }