diff --git a/src/main/java/com/goterl/resourceloader/ResourceLoader.java b/src/main/java/com/goterl/resourceloader/ResourceLoader.java index bcf6ff3..345051b 100644 --- a/src/main/java/com/goterl/resourceloader/ResourceLoader.java +++ b/src/main/java/com/goterl/resourceloader/ResourceLoader.java @@ -616,6 +616,10 @@ private static URL getPathToTheNestedJar(String url) { if (url.endsWith("/")) { url = url.replaceAll("\\/*$", ""); } + if (url.startsWith("nested:")) { + // The nested syntax looks something like "nested:/app/appName.jar/!BOOT-INF/lib/lazysodium-java-5.1.4.jar" + url = url.replace("nested:", "file:").replace("/!", "/"); + } try { // This should result in something like // file:/C:/app.jar/lazysodium.jar diff --git a/src/test/java/com/goterl/resourceloader/ResourceLoaderTest.java b/src/test/java/com/goterl/resourceloader/ResourceLoaderTest.java index 988ce3c..1aea82a 100644 --- a/src/test/java/com/goterl/resourceloader/ResourceLoaderTest.java +++ b/src/test/java/com/goterl/resourceloader/ResourceLoaderTest.java @@ -46,6 +46,10 @@ public static Object[][] jarUrls() { { "jar:file:/app/target/app-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/lazysodium-java-5.0.1.jar!/", "file:/app/target/app-0.0.1-SNAPSHOT.jar/BOOT-INF/lib/lazysodium-java-5.0.1.jar" + }, + { + "nested:/app/target/app-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/lazysodium-java-5.0.1.jar", + "file:/app/target/app-0.0.1-SNAPSHOT.jar/BOOT-INF/lib/lazysodium-java-5.0.1.jar" } }; }