44 lines
2.8 KiB
Markdown
44 lines
2.8 KiB
Markdown
|
---
|
|||
|
aliases:
|
|||
|
tags:
|
|||
|
- maturity/🌱
|
|||
|
date: 2024-10-15
|
|||
|
zero-link:
|
|||
|
parents:
|
|||
|
linked:
|
|||
|
---
|
|||
|
JDeps — это инструмент для анализа зависимостей модулей и пакетов, который был введён в [[../../../../knowledge/dev/java/JDK 8|JDK 8]], ещё до появления модульной системы [[Java Platform Module System|JPMS]]. Основная задача JDeps — помочь разработчикам понять, как модули и пакеты связаны друг с другом внутри проекта.
|
|||
|
|
|||
|
Основные возможности:
|
|||
|
- Показывает, какие модули используются в проекте, какие зависимости между ними существуют и какие модули вызывают друг друга.
|
|||
|
- Позволяет анализировать, какие библиотеки и классы реально используются, что помогает очищать проект от лишних зависимостей
|
|||
|
|
|||
|
Пример запуска Jdeps
|
|||
|
```bash
|
|||
|
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 разработка|00 Java разработка]]
|
|||
|
**Родитель**::
|
|||
|
**Источник**::
|
|||
|
**Создана**:: [[2024-10-15]]
|
|||
|
**Автор**::
|
|||
|
### Дополнительные материалы
|
|||
|
- [[JLink]]
|
|||
|
|
|||
|
### Дочерние заметки
|
|||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
|||
|
|