Поиск неиспользуемых jar-файлов, используемых в проекте eclipse
Вопрос
Существуют ли какие-либо плагины/инструменты, позволяющие пройти путь к классам проекта eclipse (или рабочей области) и выделить все неиспользуемые банки?
Решение
КлассПатХелпер это хорошее начало.
Он автоматически идентифицирует бесхозные банки и многое другое.
Единственное ограничение связано с зависимостями, которые не определены в классах, например.в файлах конфигурации платформы внедрения зависимостей.
У вас также есть другие опции/дополнения, такие как:
- рабочая лягушка "Рельеф", который основан на способности работать с реальными объектами, исследуя их форму, размер или относительное место в пространстве. Он дает «физическое» представление о Java-пакетах, типах и полях, а также их отношениях, что упрощает их обработку.
- Детектор ненужного кода:инструмент подключаемого модуля eclipse для поиска ненужного (мертвого) общедоступного Java-кода.
Другие советы
UCDetector не помогает в этом: он не работает на JAR-файлах. Что касается classpathHelper , я не смог найти простой способ перечисления потерянных JAR-файлов (кстати, если у кого-то есть учебник для этого, мне это интересно).
Итак, если вы также используете Maven, как я, я узнаю, что этот замечательный плагин Maven , и я хотел бы поделиться этим решением с вами. Просто введите:
mvn dependency:analyze
И вы сразу получите список неиспользуемых JAR-файлов в ваших зависимостях. Очень удобно!
Вы можете использовать один из следующих плагинов: UCDetector или Classpath Helper
Я нашел очень быстрый и интересный инструмент для архивирования этой цели:
Просто разархивируйте программу и запустите:
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$.