Найти классы, которые используются во время компиляции в Eclipse
У меня есть пакет х, который содержит около 30 классов. Программа, которую я компилирую, использует 5 классов из пакета x. Как найти 5 классов, которые используются во время моей текущей компиляции с первого взгляда?
Мой текущий подход заключается в том, чтобы проверить код и посмотреть, какие классы используются / создаются, это утомительно и медленно, так как мне приходится вручную проходить через код. Есть ли лучший подход, чтобы найти все классы, которые используются во время моей текущей компиляции?
Я хочу нажать кнопку и увидеть все классы, которые требуются для компиляции моей программы.
1 ответ
Как насчет этой команды:
# which jar file you need analyzing
export JAR_FILE="...";
# export CLASSPATH environment for compiling purpose
export CLASSPATH="...";
javac -verbose *.java 2>&1 \
| grep -E "^\[loading" \
| grep $JAR_FILE \
| grep -Eo "\((.*?)\)";
пример
составление Main.java
:
public class Main {
public static void main(String[] args) {
org.joda.time.DateTime dateTime = new org.joda.time.DateTime();
}
}
с командами ниже:
export JAR_FILE="joda-time-2.9.9.jar";
export CLASSPATH="joda-time-2.9.9.jar";
javac -verbose *.java 2>&1 \
| grep -E "^\[loading" \
| grep $JAR_FILE \
| grep -Eo "\((.*?)\)";
будет выводить классы, которые используются в joda.jar
только:
(Орг / Joda/ времени /DateTime.class)