Поиск неиспользуемых jar-файлов, используемых в проекте eclipse

StackOverflow https://stackoverflow.com/questions/248589

  •  05-07-2019
  •  | 
  •  

Вопрос

Существуют ли какие-либо плагины/инструменты, позволяющие пройти путь к классам проекта eclipse (или рабочей области) и выделить все неиспользуемые банки?

Это было полезно?

Решение

КлассПатХелпер это хорошее начало.

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

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

У вас также есть другие опции/дополнения, такие как:

  • рабочая лягушка "Рельеф", который основан на способности работать с реальными объектами, исследуя их форму, размер или относительное место в пространстве. Он дает «физическое» представление о Java-пакетах, типах и полях, а также их отношениях, что упрощает их обработку.
  • Детектор ненужного кода:инструмент подключаемого модуля eclipse для поиска ненужного (мертвого) общедоступного Java-кода.

Другие советы

UCDetector не помогает в этом: он не работает на JAR-файлах. Что касается classpathHelper , я не смог найти простой способ перечисления потерянных JAR-файлов (кстати, если у кого-то есть учебник для этого, мне это интересно).

Итак, если вы также используете Maven, как я, я узнаю, что этот замечательный плагин Maven , и я хотел бы поделиться этим решением с вами. Просто введите:

mvn dependency:analyze

И вы сразу получите список неиспользуемых JAR-файлов в ваших зависимостях. Очень удобно!

Вы можете использовать один из следующих плагинов: UCDetector или Classpath Helper

Я нашел очень быстрый и интересный инструмент для архивирования этой цели:

http://tattletale.jboss.org/

Просто разархивируйте программу и запустите:

java -Xmx512m -jar tattletale.jar ~/myjavaproject/mydistribution output

Это создаст очень впечатляющий отчет с разными пунктами (текст с их сайта):

  • Определить зависимости между файлами JAR
  • Найдите недостающие классы в пути к классам
  • Определите, находится ли класс/пакет в нескольких файлах JAR.
  • Обнаружьте, находится ли один и тот же файл JAR в нескольких местах.
  • Со списком того, что требует и предоставляет каждый файл JAR.
  • Проверьте SerialVersionUID класса.
  • Найдите похожие файлы JAR с разными номерами версий.
  • Найти файлы JAR без номера версии
  • Найдите неиспользуемые JAR-архивы
  • Определить запечатанные/подписанные JAR-архивы
  • Найдите класс в файле JAR
  • Получите статус OSGi вашего проекта
  • Удалить использование API из черного списка
  • И создавайте одинаковые отчеты для ваших архивов .WAR и .EAR.

Я знаю, что это старый вариант, но если кто-нибудь еще наткнется на это, Eclipse сделает это сам.

Перейдите к Project Properties-> Java Code Style-> Clean Up Выберите Eclipse [встроенный], и он выполняет следующее:

  • Измените нестатический доступ к статическим членам, используя объявление типа
  • Изменить косвенные доступа к статическим участникам для прямых доступа (доступ через подтипы)
  • Удалить неиспользуемый импорт
  • Добавьте недостающие аннотации @Override.
  • Добавить пропущенные аннотации «@Override» в реализации методов интерфейса
  • Добавьте отсутствующие аннотации @Deprecated.
  • Удалить ненужные приведения
  • Удалите ненужные теги $NON-NLS$.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top