查找在eclipse中编译期间使用的类

时间:2017-05-21 15:57:35

标签: java eclipse packages sanity-check

我有一个包x,其中包含大约30个类。我正在编译的程序使用包x中的5个类。如何找到我当前编译过程中使用的5个类一目了然?

我目前的方法是检查代码并查看使用/实例化的类,这是繁琐而缓慢的,因为我必须手动完成代码。有没有更好的方法来查找我当前编译期间使用的所有类?

我想按一个按钮,查看编译程序所需的所有类。

1 个答案:

答案 0 :(得分:2)

这个命令怎么样:

# 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中使用的类:

  

(有机/乔达/时间/ DateTime.class)