我有一个包含大约30个类的包x。我正在编译的程序使用了包x中的5个类。如何找到在我当前编译过程中使用的5个类?我目前的方法是检查代码,看看哪些类被使用/示例化,这是繁琐和缓慢的,因为我必须手动通过代码。有没有更好的方法来查找当前编译过程中使用的所有类?我想按下一个按钮,查看编译我的程序所需的所有类。
5hcedyr01#
这个命令怎么样:
# 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:
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中使用的类:(org/joda/time/DateTime.class)
joda.jar
1条答案
按热度按时间5hcedyr01#
这个命令怎么样:
示例
编译
Main.java
:命令如下:
将只输出在
joda.jar
中使用的类:(org/joda/time/DateTime.class)