Relocate launcher classes
Create alternative launcher classes under the package `org.springframework.boot.loader.launch` and use them in favor of the previous location. This update is designed to improve compatibility with future changes in the loader. Closes gh-37667
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -66,7 +66,7 @@ public final class Layouts {
|
||||
|
||||
@Override
|
||||
public String getLauncherClassName() {
|
||||
return "org.springframework.boot.loader.JarLauncher";
|
||||
return "org.springframework.boot.loader.launch.JarLauncher";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -108,7 +108,7 @@ public final class Layouts {
|
||||
|
||||
@Override
|
||||
public String getLauncherClassName() {
|
||||
return "org.springframework.boot.loader.PropertiesLauncher";
|
||||
return "org.springframework.boot.loader.launch.PropertiesLauncher";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -148,7 +148,7 @@ public final class Layouts {
|
||||
|
||||
@Override
|
||||
public String getLauncherClassName() {
|
||||
return "org.springframework.boot.loader.WarLauncher";
|
||||
return "org.springframework.boot.loader.launch.WarLauncher";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -105,7 +105,7 @@ abstract class AbstractPackagerTests<P extends Packager> {
|
||||
execute(packager, NO_LIBRARIES);
|
||||
Manifest actualManifest = getPackagedManifest();
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Main-Class"))
|
||||
.isEqualTo("org.springframework.boot.loader.JarLauncher");
|
||||
.isEqualTo("org.springframework.boot.loader.launch.JarLauncher");
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Start-Class")).isEqualTo("a.b.C");
|
||||
assertThat(hasPackagedLauncherClasses()).isTrue();
|
||||
}
|
||||
@@ -121,7 +121,7 @@ abstract class AbstractPackagerTests<P extends Packager> {
|
||||
execute(packager, NO_LIBRARIES);
|
||||
Manifest actualManifest = getPackagedManifest();
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Main-Class"))
|
||||
.isEqualTo("org.springframework.boot.loader.JarLauncher");
|
||||
.isEqualTo("org.springframework.boot.loader.launch.JarLauncher");
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Start-Class")).isEqualTo("a.b.C");
|
||||
assertThat(hasPackagedLauncherClasses()).isTrue();
|
||||
}
|
||||
@@ -133,7 +133,7 @@ abstract class AbstractPackagerTests<P extends Packager> {
|
||||
execute(packager, NO_LIBRARIES);
|
||||
Manifest actualManifest = getPackagedManifest();
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Main-Class"))
|
||||
.isEqualTo("org.springframework.boot.loader.JarLauncher");
|
||||
.isEqualTo("org.springframework.boot.loader.launch.JarLauncher");
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Start-Class")).isEqualTo("a.b.C");
|
||||
assertThat(hasPackagedLauncherClasses()).isTrue();
|
||||
}
|
||||
@@ -684,7 +684,7 @@ abstract class AbstractPackagerTests<P extends Packager> {
|
||||
|
||||
protected boolean hasPackagedLauncherClasses() throws IOException {
|
||||
return hasPackagedEntry("org/springframework/boot/")
|
||||
&& hasPackagedEntry("org/springframework/boot/loader/JarLauncher.class");
|
||||
&& hasPackagedEntry("org/springframework/boot/loader/launch/JarLauncher.class");
|
||||
}
|
||||
|
||||
private boolean hasPackagedEntry(String name) throws IOException {
|
||||
|
||||
@@ -79,7 +79,7 @@ class RepackagerTests extends AbstractPackagerTests<Repackager> {
|
||||
repackager.repackage(NO_LIBRARIES);
|
||||
Manifest actualManifest = getPackagedManifest();
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Main-Class"))
|
||||
.isEqualTo("org.springframework.boot.loader.JarLauncher");
|
||||
.isEqualTo("org.springframework.boot.loader.launch.JarLauncher");
|
||||
assertThat(actualManifest.getMainAttributes().getValue("Start-Class")).isEqualTo("a.b.C");
|
||||
assertThat(hasPackagedLauncherClasses()).isTrue();
|
||||
}
|
||||
@@ -220,7 +220,7 @@ class RepackagerTests extends AbstractPackagerTests<Repackager> {
|
||||
|
||||
private boolean hasLauncherClasses(File file) throws IOException {
|
||||
return hasEntry(file, "org/springframework/boot/")
|
||||
&& hasEntry(file, "org/springframework/boot/loader/JarLauncher.class");
|
||||
&& hasEntry(file, "org/springframework/boot/loader/launch/JarLauncher.class");
|
||||
}
|
||||
|
||||
private boolean hasEntry(File file, String name) throws IOException {
|
||||
|
||||
Reference in New Issue
Block a user