Как с помощью Eclipse определить, какие JAR-файлы зависят от какого?

Я пытаюсь использовать классы синтаксического анализа Eclipse JDT AST. После включения начального JAR и сортировки еще пары зависимостей, это с 7+ JAR, и у меня все еще есть исключения NoClassDefFoundError. Такая ситуация возникает всякий раз, когда я пытаюсь протестировать библиотеки практически без документации. Метод проб и ошибок кажется очень глупым (и раздражающим) подходом к решению этой проблемы.

Есть ли способ автоматически разобраться с этим с помощью Eclipse?


Обновление: Позже я обнаружил, что добавление всех имеющихся у вас JAR-файлов и использование Ctrl-T (для просмотра/нахождения типов) позволяет вам вручную найти JAR-файл. Это было решение, которое до сих пор предлагал Google. Есть ли способ лучше?


person Camilo Díaz Repka    schedule 26.01.2009    source источник


Ответы (3)


Если вы обратитесь к этому вопросу SO Поиск неиспользуемых банок, используемых в проекте eclipse, у вас также есть:

ClassPathHelper, который может быстро сосредоточиться на неразрешенных классах:

неразрешенный

Он автоматически идентифицирует сиротские банки, заблокированные (скрытые) классы и многое другое.

Единственным ограничением являются зависимости, которые не определены в классах, например. в файлах конфигурации инфраструктуры внедрения зависимостей.

person VonC    schedule 26.01.2009

Я обнаружил, что настройка рабочего пространства исключительно для просмотра исходного кода eclipse невероятно полезна. Таким образом, вы можете использовать инструменты PDE, такие как Plug-in Spy, анализ зависимостей пакетов, просмотр документации и т. д., так же, как и ваши собственные проекты плагинов. Я нашел эту статью в Vogella очень полезным руководством.

Если вы знаете, к какому пакету относится нужный вам класс, вы можете сгенерировать транзитивное закрытие зависимостей, создав новую конфигурацию запуска OSGi, выбрав только один пакет. Нажав кнопку Add Required, вы увидите все пакеты, необходимые для использования интересующего вас пакета.

Изменить:

  • Из вашего вопроса неясно, в какой среде вы хотите запустить компилятор. Если вы заинтересованы во встраиваемом компиляторе Java для запуска вне среды OSGi, могу ли я предложить Янино.
person jamesh    schedule 26.01.2009

Вы можете использовать анализатор зависимостей, например: JarAnalyzer

Это проанализирует каталог, полный JAR-файлов, и даст вам выходную карту зависимостей XML, для которой есть несколько инструментов для отображения в графической или текстовой форме.

person billjamesdev    schedule 26.01.2009