Почему я получаю сообщение java.lang.NoClassDefFoundError: java/sql/Driver при использовании специального загрузчика клаJAVA

Программисты JAVA общаются здесь
Anonymous
Почему я получаю сообщение java.lang.NoClassDefFoundError: java/sql/Driver при использовании специального загрузчика кла

Сообщение Anonymous »

Это работает с Java 8:

Код: Выделить всё

public class Test {
public static void main(String[] args) throws Exception {
URLClassLoader loader = new URLClassLoader(new URL[0], null);
System.out.println("" + loader.loadClass("java.sql.Driver"));
}
}
Но в Java 17 выдается исключение ClassNotFoundException:

Код: Выделить всё

Exception in thread "main" java.lang.ClassNotFoundException: java.sql.Driver
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at Test.main(Test.java:16)
Отличная диаграмма, объясняющая загрузчики классов (Java 9+):
https://medium.com/@wakefulinsomnia/how-does-java- classloader-system-work-82eaf378f73b
Связанные/похожие проблемы:

Подробнее здесь: https://stackoverflow.com/questions/787 ... using-a-cu

Вернуться в «JAVA»