parent
886f782b20
commit
9eb8e3d4e3
|
@ -483,6 +483,10 @@ public class PropertiesLauncher extends Launcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Archive getArchive(File file) throws IOException {
|
private Archive getArchive(File file) throws IOException {
|
||||||
|
// Nested path never exists as plain jar file, which should be ignored here.
|
||||||
|
if (file.getPath().contains("!")) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
String name = file.getName().toLowerCase();
|
String name = file.getName().toLowerCase();
|
||||||
if (name.endsWith(".jar") || name.endsWith(".zip")) {
|
if (name.endsWith(".jar") || name.endsWith(".zip")) {
|
||||||
return new JarFileArchive(file);
|
return new JarFileArchive(file);
|
||||||
|
|
|
@ -213,6 +213,15 @@ public class PropertiesLauncherTests {
|
||||||
assertThat(archives).areExactly(1, endingWith("app.jar!/"));
|
assertThat(archives).areExactly(1, endingWith("app.jar!/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUserSpecifiedNestedJarPath() throws Exception {
|
||||||
|
System.setProperty("loader.path", "nested-jars/app.jar!/foo.jar");
|
||||||
|
System.setProperty("loader.main", "demo.Application");
|
||||||
|
PropertiesLauncher launcher = new PropertiesLauncher();
|
||||||
|
List<Archive> archives = launcher.getClassPathArchives();
|
||||||
|
assertThat(archives).hasSize(1).areExactly(1, endingWith("foo.jar!/"));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUserSpecifiedDirectoryContainingJarFileWithNestedArchives()
|
public void testUserSpecifiedDirectoryContainingJarFileWithNestedArchives()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
|
Loading…
Reference in New Issue