LiteCoding

Заметки о программировании

Получение списка зависимостей классов в Java

without comments

Совсем недавно на хабре проскакивала статья «Определяем все классы, которые использует приложение на Java«, в которой рассматривался ряд хитроумных способов получить список зависимостей конкретного проекта. Ничего не могу сказать по поводу удобности предложенных решений, т.к. до сих пор мне не приходилось иметь дело с инструментацией в Java. Но вот подобная задача с небольшими вариациями уже появлялась в моем списке.

Все уже изобретено. А то, что не изобретено, на самом деле изобретено и основательно позабыто. Поэтому я хочу обратить ваше внимание на CDA (Class Dependency Analyzer), инструмент статического анализа классов Java. Сразу огорчу сторонников open source, вы не сможете найти исходный код данного инструмента в открытом доступе. Зато он freeware’ный, т.е. по-настоящему бесплатный. Никакой рекламы, ограничений функциональности и прочих трюков, заставляющих купить полную (full, pro, ultimate) версию продукта. Его GUI построен с помощью JGoodies, поэтому особых красивостей ожидать не стоит. Но зачем нам молоток с уникальным дизайном, если нужно просто вбить гвоздь? Главное, чтобы его рукоятка удобно лежала в руке, его баланс не напрягал, и чтобы он не рассыпался от первого серьезного удара. CDA именно такой инструмент — простой и надежный. У него есть единственный недостаток — не «понимает» рефлексию, но это беда всех статических анализаторов. В остальном этот инструмент полностью оправдывает ожидания.

На сайте, с которого его можно скачать, также есть инструкция по пользованию на английском языке. Сам же CDA настолько прост, что для его освоения достаточно уровень знаний английского «со словарем». Хотя, если говорить честно, это позор для разработчика, в чьи должностные обязанности также входит чтение технической документации, которая в по большей части доступна только на английском языке.

Итак, если у вас есть подобная задача, попробуйте CDA для ее решения. Удачи!

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Tumblr

Written by Дмитрий Воробьев

Понедельник, Апрель 16th, 2012 at 13:15

Leave a Reply

You must be logged in to post a comment.