2015-04-14 2 views
1

Если возникает исключение из-за отсутствующего файла jar, то есть ли какой-либо способ назад и узнать отсутствующий файл jar?Идентифицировать отсутствующие банки из типа исключения - Java

Предположим следующее исключение:

java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod

, которая вызвана отсутствием Викисклада HTTPClient-3.0.1.jar файл.

+0

См [это] (http://stackoverflow.com/a/ 1500166/1015327) ответ, например. – JimmyB

+0

Подумайте, [этот ответ] (http://stackoverflow.com/a/1983870/225503) решит вашу проблему. Кроме того, [этот другой, показывающий, как печатать, где загружаются все классы] (http://stackoverflow.com/a/947216/225503), может помочь –

ответ

1

Вы не можете найти, какой jar имеет какой файл класса. Вы можете узнать структуру пакетов отсутствующего класса, например org/apache/commons/httpclient, исходя из этого, если вы можете догадаться, какая банда отсутствует.

И его трудно, потому что любая банка может иметь классы в любой структуре упаковки.

+0

загрузчик классов не заботится о файлах JAR. Он рассматривает их как часть структуры каталогов пути класса. JAR - это просто сжатые файловые системы. Так что Сумит абсолютно прав. – Dan

0

Я использую findjar (http://findjar.com/index.x), чтобы знать, какие банки будут содержать определенный класс, на основании которых я буду исследовать ли банки в пути к классам или не

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