Почему я получаю NoClassDefFoundError в Java?
Определение класса можно запросить во время вызова метода или при создании нового экземпляра с использованием нового выражения. NoClassDefFoundError означает, что класс присутствует в пути к классам во время компиляции, но он отсутствует в пути к классам в Runtime. После компиляции кода вы получаете файлы .class для каждого класса вашей программы. Эти двоичные файлы - это байт-код, который Java интерпретирует для выполнения вашей программы. NoClassDefFoundError указывает, что загрузчик классов, который отвечает за динамическую загрузку классов, не может найти файл .class для класса, который вы пытаетесь использовать.
- КлассNotFoundException- .class не найден для этого ссылочного класса независимо от того, доступен ли он во время компиляции или нет (например, base / child class).
- Файл класса находится, но исключение возникает при инициализации статических переменных.
- Файл класса, содержащийся в Исключении при инициализации статических блоков.
Источник: http://net-informations.com/Java/cJava/noclass.htm