diff --git a/pom.xml b/pom.xml index f07191a..3c266ba 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.extio game-engine - 1.0.22 + 1.0.23 25 diff --git a/src/main/java/de/extio/game_engine/resource/StaticResourceServiceImpl.java b/src/main/java/de/extio/game_engine/resource/StaticResourceServiceImpl.java index cb37b7b..cde1ad4 100644 --- a/src/main/java/de/extio/game_engine/resource/StaticResourceServiceImpl.java +++ b/src/main/java/de/extio/game_engine/resource/StaticResourceServiceImpl.java @@ -28,7 +28,13 @@ public class StaticResourceServiceImpl implements StaticResourceService { if (location == null) { try { final URL url = StorageServiceImpl.class.getProtectionDomain().getCodeSource().getLocation(); - final Path parent = Paths.get(url.toURI()).getParent(); + Path parent; + if (url.toString().startsWith("jar:nested:")) { + parent = Paths.get(url.toString().substring("jar:nested:".length(), url.toString().indexOf("/!"))).getParent(); + } + else { + parent = Paths.get(url.toURI()).getParent(); + } final Path jarPath = parent != null ? parent.toAbsolutePath().normalize() : Paths.get(url.toURI()).toAbsolutePath().normalize(); final String currentSubDir = jarPath.getFileName().toString(); diff --git a/src/main/java/de/extio/game_engine/storage/StorageServiceImpl.java b/src/main/java/de/extio/game_engine/storage/StorageServiceImpl.java index 0825aa7..3880073 100644 --- a/src/main/java/de/extio/game_engine/storage/StorageServiceImpl.java +++ b/src/main/java/de/extio/game_engine/storage/StorageServiceImpl.java @@ -38,7 +38,13 @@ public class StorageServiceImpl implements StorageService { if (location == null) { try { final URL url = StorageServiceImpl.class.getProtectionDomain().getCodeSource().getLocation(); - final Path parent = Paths.get(url.toURI()).getParent(); + Path parent; + if (url.toString().startsWith("jar:nested:")) { + parent = Paths.get(url.toString().substring("jar:nested:".length(), url.toString().indexOf("/!"))).getParent(); + } + else { + parent = Paths.get(url.toURI()).getParent(); + } final Path jarPath = parent != null ? parent.toAbsolutePath().normalize() : Paths.get(url.toURI()).toAbsolutePath().normalize(); final String currentSubDir = jarPath.getFileName().toString();