added extension classloader to classloader's hierarchy
This commit is contained in:
@@ -3,11 +3,11 @@ package net.woggioni.envelope;
|
|||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
|
|
||||||
|
|
||||||
class MainClassLoader {
|
class MainClassLoader {
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
static Class<?> loadMainClass(Iterable<Path> roots, String mainModuleName, String mainClassName) {
|
static Class<?> loadMainClass(Iterable<Path> 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);
|
return pathClassLoader.loadClass(mainClassName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,7 +21,8 @@ class MainClassLoader {
|
|||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
static Class<?> loadMainClass(Iterable<Path> roots, String mainModuleName, String mainClassName) {
|
static Class<?> loadMainClass(Iterable<Path> roots, String mainModuleName, String mainClassName) {
|
||||||
if (mainModuleName == null) {
|
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);
|
return pathClassLoader.loadClass(mainClassName);
|
||||||
} else {
|
} else {
|
||||||
ModuleLayer bootLayer = ModuleLayer.boot();
|
ModuleLayer bootLayer = ModuleLayer.boot();
|
||||||
|
Reference in New Issue
Block a user