我有一个包x,其中包含大约30个类。我正在编译的程序使用包x中的5个类。如何找到我当前编译过程中使用的5个类一目了然?
我目前的方法是检查代码并查看使用/实例化的类,这是繁琐而缓慢的,因为我必须手动完成代码。有没有更好的方法来查找我当前编译期间使用的所有类?
我想按一个按钮,查看编译程序所需的所有类。
答案 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)