java - 查找eclipse中编译过程中使用的类

标签 java eclipse package

我有一个包 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/

相关文章:

java - Gradle:如何提取jar中子目录的内容(但不提取子目录本身)?

macos - 在 OSX 上安装 docker 工具箱时出现版本错误

javascript - 从 npmjs.org 的注册表确定 NPM 包的源 url?

python - 如何处理 'ImportError: No module named profanity_check'

java - 我在尝试制作随机歌曲播放器时失败了

java - Java 的代码覆盖率 : dead or paid?

java - 为什么 p :panelGrid not work with ui:repeat?

eclipse - 关闭除 Eclipse 中固定选项卡之外的所有选项卡的快捷方式

eclipse - Eclipse中有 "Find in Files"快捷方式吗?

java - 使用 javax.crypto 时出现 ClassCastException