2013-08-10 3 views
0

Я работаю над сервисом для подготовки таблицы для отчета. Для этого я использую jxl-2.4.2.jar (обратите внимание, что я не могу использовать последнюю версию из-за ограничений совместимости). Когда я выполняю код локально на своем затмении, он отлично работает. В моем затмении есть java 1.5.Нужна помощь по ошибке NoClassDefFound

Когда я развертываю свой код в своей тестовой среде, его давая NoClassdefFound error для jxl.* (любые классы в jxl). В моей тестовой среде есть Java-версия IBM 1.5. Я считаю, что это не имеет никакого значения, если я использую версию IBM или версию Java для Java в этом контексте.

Я считаю, что эта ошибка может произойти, если JVM не загружает класс во время выполнения или если класс имеет какие-либо статические методы/свойства. Я проверил классы, и ни один из них не имеет статического содержимого. Таким образом, это может быть что-то другое.

FYI .. Я использую ant для сборки проекта & Я проверяю файл build.xml. Он показывает правильную версию java 1.5. Может ли кто-нибудь помочь устранить эту ошибку? Также Just FYI .. мой проект находится на сервере AIX 5.0.

Любая помощь в этом отношении высоко оценили. Заранее спасибо.

+0

Когда вы создаете с помощью 'ant', вы должны закончить в каталоге' dist' с вашим файлом 'jar', а также с файлом' lib'. Вы переместили оба из них в тестовую среду? Папка 'lib' должна быть рядом с' jar' или вам нужно использовать опцию '-cp' при запуске' jar'. –

+0

Наведите указатель мыши на тег "noclassdeffounderror" и прочитайте его. В ИСПОЛЬЗОВАНИИ это связано с несоответствием файлов jar, либо компиляцией с одним набором и запуском с другим набором, либо наличием двух несовместимых банок в пути класса. Но это может быть связано с ошибками кодирования в самом классе (например, неправильное имя пакета), ошибки во время статического init и т. Д. –

+0

@hotlicks, по-видимому, это неправильное место для объяснения. –

ответ

0

Эта ошибка подразумевает, что ваша зависимость отсутствует во время выполнения, т. Е. Набор зависимых банок неверен. jxl-2.4.2.jar не поставляется вместе с развертыванием, поэтому, чтобы решить проблему, вы можете вручную скопировать эту банку в зависимую папку lib развертывания.

Но правильное исправление будет связано с проверкой сборки ANT.

+0

Проблемы с классом пути, вероятно, самые сложные новички. Это только объяснение, когда вы видели это много раз самостоятельно –

+0

@ ThorbjørnRavnAndersen: Согласитесь, я изменил работу своего ответа. – Lokesh

+0

Ошибка ПРЕДЛАГАЕТ, что может отсутствовать зависимость. Однако есть много разных причин этого исключения. –

Смежные вопросы