Это не полная трассировка стека, и я думаю, что вы, возможно, пропустили ту часть, которая показывает основную причину вашей проблемы.
Если я правильно помню, ClassNotFoundException иногда может возникать из-за исключения, генерируемого во время статической инициализации загружаемого класса, или некоторого класса, от которого он зависит. Если это произойдет, оно будет отображаться как вложенное исключение в первой трассировке стека для проблемы на следующем уровне вложенности. Напоминаю (может быть неправильно), что если ваше приложение повторяет попытку загрузки класса, исключительная ситуация инициализации отсутствует в полученной трассировке стека.
РЕДАКТИРОВАТЬ: полная трассировка стека говорит, что моя теория не верна.