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