diff --git a/launcher/src/main/java/net/woggioni/envelope/MainClassLoader.java b/launcher/src/main/java/net/woggioni/envelope/MainClassLoader.java index 3de1271..97e7ce9 100644 --- a/launcher/src/main/java/net/woggioni/envelope/MainClassLoader.java +++ b/launcher/src/main/java/net/woggioni/envelope/MainClassLoader.java @@ -3,11 +3,11 @@ package net.woggioni.envelope; import java.nio.file.Path; import lombok.SneakyThrows; - class MainClassLoader { @SneakyThrows static Class loadMainClass(Iterable roots, String mainModuleName, String mainClassName) { - ClassLoader pathClassLoader = new net.woggioni.xclassloader.PathClassLoader(roots); + ClassLoader pathClassLoader = new net.woggioni.xclassloader.PathClassLoader(roots, ClassLoader.getSystemClassLoader().getParent()); + Thread.currentThread().setContextClassLoader(pathClassLoader); return pathClassLoader.loadClass(mainClassName); } } diff --git a/launcher/src/main/java11/net/woggioni/envelope/MainClassLoader.java b/launcher/src/main/java11/net/woggioni/envelope/MainClassLoader.java index 4b8703b..5d99e50 100644 --- a/launcher/src/main/java11/net/woggioni/envelope/MainClassLoader.java +++ b/launcher/src/main/java11/net/woggioni/envelope/MainClassLoader.java @@ -21,7 +21,8 @@ class MainClassLoader { @SneakyThrows static Class loadMainClass(Iterable roots, String mainModuleName, String mainClassName) { if (mainModuleName == null) { - ClassLoader pathClassLoader = new net.woggioni.xclassloader.PathClassLoader(roots); + ClassLoader pathClassLoader = new net.woggioni.xclassloader.PathClassLoader(roots, ClassLoader.getSystemClassLoader().getParent()); + Thread.currentThread().setContextClassLoader(pathClassLoader); return pathClassLoader.loadClass(mainClassName); } else { ModuleLayer bootLayer = ModuleLayer.boot();