Найти классы, которые используются во время компиляции в 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)

Другие вопросы по тегам