Как вы выясняете с Eclipse, какие JAR-файлы зависят от какого? - PullRequest
2 голосов
/ 26 января 2009

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

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


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

Ответы [ 3 ]

4 голосов
/ 26 января 2009

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

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

unresolved

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

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

1 голос
/ 26 января 2009

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

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

Редактировать :

  • Судя по вашему вопросу, неясно, в какой среде вы хотите запустить компилятор. Если вас интересует встраиваемый компилятор Java, запускаемый вне среды OSGi, могу я предложить Janino .
0 голосов
/ 26 января 2009

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

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

...