【发布时间】:2025-12-18 23:05:01
【问题描述】:
tldr; 是什么使得有必要在构建路径中包含传递引用?
说明
我尝试分析一些使用 Eclipse 工作区编译的 Java 源代码。工作区中有很多项目。
我尝试检测项目之间未使用的引用。
我的第一个方法是遍历所有项目并从 .classpath 文件中获取所有引用,然后分析同一项目中的所有 .java 文件。如果 .java 文件具有来自另一个项目的 import 语句,则需要对该另一个项目的引用。 这样我在类路径中发现了一些没有“理由”的引用。
但是当我删除这些引用时,构建失败了。一种这样的情况是,如果引用的类是扩展来自第三个项目的类。该项目被传递引用,需要在构建路径中。
我想知道还有哪些其他类型的关系(继承除外)会导致类路径中的传递引用? 那么多个继承层,每个继承类位于另一个项目中呢?
【问题讨论】:
-
您的项目是否使用了 DLL、Spring XML 配置、Java 反射或任何其他会阻止从纯源代码分析中实现此目标的方面?
-
如果两个项目中的两个类在同一个包中,只看import语句是找不到它们之间的依赖关系的。
-
@ProgrammersBlock 我不明白。我做纯源代码分析。
-
@NickL 正确。这是另一个需要考虑的情况。
标签: java reference dependencies classpath transitive-dependency