我有一个包含数百个类文件的目录,这些文件是由以前的编译构建的。假设我有一个类只依赖于那些生成的类文件的一小部分。是否可以创建一个仅具有给定类依赖项的 JAR?
编辑:请注意,我说的不是库级依赖项(即 JAR)。当我提到上面的依赖关系时,我指的是类 A 调用类 B 产生的那种依赖关系。也许举个例子会很好。假设我的项目中有以下类。
public class A {
B bField;
}
public class B {
C cField;
}
public class C {
B bField;
}
现在假设我想构建一个包含 B 类的 JAR,那么 JAR 还需要包含 C 的类文件,因为两者相互依赖。如果我想从类 A 构建一个 JAR,那么将包括所有三个类。有没有办法检查这个依赖链并用结果构建一个 JAR?
最佳答案
有几种产品可以做到这一点,包括 ProGuard .
危险在于,如果没有进行详尽的运行时分析,或者没有很好地理解您的代码及其使用的任何框架,如果某些类是通过反射实例化的,则它们可能会被遗漏。插件系统、依赖项注入(inject)、脚本等都会影响静态分析的准确性。
关于java - 如何创建仅包含给定类所需类文件的 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10856996/