Рассказать про classloader'ы и их иерархию. Из за чего, например, может возникать NoClassDefFoundError, NoSuchMethodError?



Иерархия classloader'ов

1. Bootstrap

2. System

3. Application



NoClassDefFoundError может возникнуть, если нужной библиотеки с этим классом нет в classpath

NoSuchMethodError может возникнуть из-за несовместимости ваших библиотек, если зависимая библиотека A вызывает метод из старой версии библиотеки B, но в classpath есть более новая версия библиотеки B, c другой сигнатурой этого метода