From f948be3fe4e92f60e5925026d12bd18645f4fbd7 Mon Sep 17 00:00:00 2001 From: extio-de Date: Sat, 27 Jun 2026 12:52:27 +0200 Subject: [PATCH] fix(StorageServiceImpl): handle null parent path when resolving jar location fix(StaticResourceServiceImpl): handle null parent path when resolving jar location chore(pom.xml): bump version to 1.0.22 --- pom.xml | 2 +- .../extio/game_engine/resource/StaticResourceServiceImpl.java | 3 ++- .../java/de/extio/game_engine/storage/StorageServiceImpl.java | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index e88b8b9..f07191a 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.extio game-engine - 1.0.21 + 1.0.22 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 0fd0912..cb37b7b 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,8 @@ public class StaticResourceServiceImpl implements StaticResourceService { if (location == null) { try { final URL url = StorageServiceImpl.class.getProtectionDomain().getCodeSource().getLocation(); - final Path jarPath = Paths.get(url.toURI()).getParent().toAbsolutePath().normalize(); + final Path 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(); if ("bin".equals(currentSubDir) || "target".equals(currentSubDir)) { 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 884d44e..0825aa7 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,8 @@ public class StorageServiceImpl implements StorageService { if (location == null) { try { final URL url = StorageServiceImpl.class.getProtectionDomain().getCodeSource().getLocation(); - final Path jarPath = Paths.get(url.toURI()).getParent().toAbsolutePath().normalize(); + final Path 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(); if ("bin".equals(currentSubDir) || "target".equals(currentSubDir)) {