Если у вас возникли проблемы с ClassNotFoundException
s, вы всегда можете локализовать проблему и отловить и записать ее, используя try { ... } catch (...) { ... }
.
Если вместо этого вы получаете ClassNotFoundError
s, то это не локализуемая проблема с отражением, а сбой при инициализации необходимого кода. Вы должны попытаться удалить ненужные зависимости, но вы действительно не должны использовать классы, которые не инициализированы должным образом.
Если вам абсолютно необходимо, вы всегда можете загрузить свою программу, используя custom ClassLoader
, которая генерирует фиктивные пустые классы для любого имени, которое не разрешается с помощью системного загрузчика классов, и используйте его для загрузки основного учебный класс. Это до некоторой степени будет повторять то, что делает ваша IDE, хотя ваша IDE, вероятно, делает дополнительный шаг, чтобы убедиться, что частично определенные классы имеют правильный интерфейс, даже если некоторые методы заглушены, потому что их тела не компилируются.