我有一个包 x,其中包含大约 30 个类。我正在编译的程序使用包 x 中的 5 个类。如何一目了然地找到我当前编译过程中用到的5个类?
我当前的方法是检查代码并查看使用/实例化了哪些类,这很乏味且缓慢,因为我必须手动检查代码。有没有更好的方法来查找当前编译期间使用的所有类?
我想按一个按钮并查看编译我的程序所需的所有类。
最佳答案
这个命令怎么样:
# 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
中使用的类:
(org/joda/time/DateTime.class)
关于java - 查找eclipse中编译过程中使用的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44098899/