2017-02-07 2 views
0

Для файла .class я хотел бы указать все классы (полностью квалифицированные имена), на которые ссылаются, то есть импортированные или используемые иным образом в байтовом коде (исключая необнаруживаемые вещи, такие как отражение).Зависимости .class file

Как я могу достичь этого через Java или в командной строке?

+0

Посмотрите на [jdeps] (https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool). Он поставляется с JDK8. Раньше вам нужно было сделать это с помощью такого инструмента, как [ASM] (http://asm.ow2.org/doc/tutorial-asm-2.0.html), я считаю. –

+0

jdeps отлично работает (я его протестировал), но чтобы он был полезен для всех наших разработчиков, мне нужен подход, совместимый с Java 7. Есть еще идеи? ASM кажется сложным. –

ответ

2

использование jdeps о командной строке. Это часть jdk.

jdeps -v class-name.class 

-v опция используется для получения зависимостей на уровне класса, а не зависимости уровня пакета по умолчанию.