Недавно я взял на себя поддержку и программирование веб-системы, написанной на JSF. Код какой-то беспорядочный и избыточный, и да, никакой документации не существует.
В системе более 40 jar-библиотек, и большинство из них избыточны из-за старых версий и тестирования. Чтобы удалить один jar, я должен проверить, что он не импортирован в код, поэтому я искал в коде путь импорта jar (я использую IntelliJ IDE), убедился, что он не используется, и удалил его.
Однако после компиляции кода во время тестирования возник ряд ошибок во время выполнения. Я понял, что удалил некоторые банки, которые используются другими существующими банками.
Проблема в том, как перед удалением банки убедиться, что она не используется другим классом jar/java?
Несмотря на то, что в jar-файлах есть скомпилированные классы, скомпилированные классы делают имеют путь импорта необходимых библиотек. Но я не могу искать их с помощью IntelliJ (не ищет внутри файлов jar).
Единственный способ, который я делаю сейчас, - это проверять систему каждый раз, когда я удаляю банку, и смотреть, смогу ли я ее разбить! Это совершенно не простой путь из-за огромного количества функций, которые нужно протестировать.
Я хочу, чтобы был инструмент, в котором я могу отправить несколько java-файлов/банок, и он отображает зависимости между ними.