Add classpath index support for exploded war archives
Update the Maven and Gradle packaging for war files so that a
`classpath.idx` file is written into the archive that provides the
original order of the classpath, as was previously done for jar files.
The `WarLauncher` class will use this file when running as an exploded
archive to ensure that the classpath order is the same as when running
from the far war.
Fixes gh-19875
@ -52,36 +46,19 @@ public class JarLauncher extends ExecutableArchiveLauncher {
@@ -52,36 +46,19 @@ public class JarLauncher extends ExecutableArchiveLauncher {
@ -42,11 +42,6 @@ public class WarLauncher extends ExecutableArchiveLauncher {
@@ -42,11 +42,6 @@ public class WarLauncher extends ExecutableArchiveLauncher {
returnfalse;
}
@Override
protectedbooleanisSearchCandidate(Entryentry){
returnentry.getName().startsWith("WEB-INF/");
}
@Override
publicbooleanisNestedArchive(Archive.Entryentry){
if(entry.isDirectory()){
@ -55,6 +50,11 @@ public class WarLauncher extends ExecutableArchiveLauncher {
@@ -55,6 +50,11 @@ public class WarLauncher extends ExecutableArchiveLauncher {
@ -80,9 +81,9 @@ public abstract class AbstractExecutableArchiveLauncherTests {
@@ -80,9 +81,9 @@ public abstract class AbstractExecutableArchiveLauncherTests {