Ошибка определения класса означает, что во время выполнения Java не удалось найти рассматриваемый класс. Пожалуйста, проверьте, развернуто ли ваше приложение во время выполнения, которое, по вашему мнению, должно быть развернуто.
В основном это будет связано с любым из следующих этапов жизненного цикла вашего проекта.
1. Построить (включить «строить автоматически») в Eclipse. Я вижу, вы сделали эти шаги.
2. Развертывание в целевую среду выполнения (например, развертывание в каком-либо веб-контейнере). Проверьте, развертывается ли ваш код или нет в целевой среде выполнения.
Но я вижу, что вы уже упоминали, что это работает некоторое время, а это значит, что вам нужно понять, почему среда выполнения не может получить доступ к вашему классу в этот момент. Я бы сделал следующее.
1. Проверьте, присутствует ли JAR.
2. Если нет, выполните шаги по развертыванию сборки, которые вы выполнили. Это означает, что вам нужно установить, каким образом JAR таинственным образом был удален.
3. Если JAR присутствует, но вы видите эту ошибку, то это означает, что ваш CLASSPATH времени выполнения загадочным образом изменился, и это нужно исследовать. В идеале этого не должно происходить, так как все программное обеспечение обычно является «непротиворечивым», то есть они либо постоянно имеют ошибки, либо постоянно работают. Это несоответствие само по себе указывает на то, что вам нужно взломать.
Это IBM WebSphere? Если это ваша компания и это общий сервер или что-то в этом роде, проверьте, не случайно ли кто-то вмешивается в ваше развертывание или что-то в этом роде.
Удачи!
Редактировать: Проверьте, поможет ли это вам концептуально - NoClassDefFoundError, переключившись на другой проект