digital-garden/dev/java/JDeps.md
2024-10-19 09:43:09 +03:00

2.8 KiB
Raw Permalink Blame History

aliases tags date zero-link parents linked
maturity/🌱
2024-10-15

JDeps — это инструмент для анализа зависимостей модулей и пакетов, который был введён в ../../../../knowledge/dev/java/JDK 8, ещё до появления модульной системы Java Platform Module System. Основная задача JDeps — помочь разработчикам понять, как модули и пакеты связаны друг с другом внутри проекта.

Основные возможности:

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

Пример запуска Jdeps

jdeps --multi-release 17 --ignore-missing-deps -q -recursive --print-module-deps -cp 'project-core/build/lib/boot/*':'project-core/build/lib/main/*':'project-core/build/app/*' project-core/build/app/*

Output:
jdk.zipfs,jdk.management,jdk.crypto.cryptoki,java.security.jgss,jdk.crypto.ec
  • --multi-release 17: указывает на использование многоверсионного JAR-файла для JDK 17, что позволяет учитывать разные версии классов для разных версий JDK.
  • --ignore-missing-deps: игнорирует отсутствующие зависимости, чтобы избежать ошибок при их отсутствии.
  • -q: отключает подробный вывод, что делает команду менее «шумной» и оставляет только ключевые данные.
  • -recursive: указывает JDeps анализировать зависимости всех модулей рекурсивно.
  • --print-module-deps: выводит список всех модулей, которые требуются для работы проекта.
  • -cp: указывает путь к классам и библиотекам проекта.

Мета информация

Область:: ../../meta/zero/00 Java разработка Родитель:: Источник:: Создана:: 2024-10-15 Автор::

Дополнительные материалы

Дочерние заметки