В Websphere 6.0 у меня развернуто веб-приложение «Project1».Я получаю следующую ошибку: - java.lang.NoClassDefFoundError: com.app.X на java.lang.Class.initialize (Class.java:318) на com.app.Y.invoke (Y.java:61)
где com.app.X и com.app.Y являются частью отдельных jar-файлов, представленных в каталоге \ WEB-INF \ lib.К вашему сведению, политика загрузки классов - ParentFirst / application.
Я пробовал развертывание несколько раз и перезапускаю.Любая подсказка, что еще я могу попробовать?
спасибо Manglu и Bkail за ваш вклад.Но проблема заключалась в том, что jar, содержащий класс Y, был скомпилирован в версии java1.4 вместе с jar, содержащим класс X.Однако из-за неправильной проверки в нашей системе CVS кто-то скомпилировал jar, содержащий класс X, с другой версией java.Поэтому во время выполнения, когда загрузчик классов Y-класса пытался найти конкретную версию класса X, он не мог ее найти.Исходя из моего понимания, есть 4 причины, по которым мы можем получить ошибку noClassDefFound в среде J2EE / JAVA: - i) класс фактически отсутствует в пути к классам ii) класс присутствует, но не виден в иерархии загрузчика классов iii) класс присутствует, но он имеетдругая версия.iv) Как объяснено выше, класс присутствует, но возникают проблемы в процессе инициализации класса.
Что-нибудь еще вы хотите добавить?