java - 如何创建仅包含给定类所需类文件的 JAR

标签 java jar

我有一个包含数百个类文件的目录,这些文件是由以前的编译构建的。假设我有一个类只依赖于那些生成的类文件的一小部分。是否可以创建一个仅具有给定类依赖项的 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/

相关文章:

Java 参数,终端与进程

java - 如何在循环外使用多个字符串的数组

java - "Android Gradle plugin requires Java 11 to run"发布jitpack库时

java - @RolesAllowed 干扰@RequestMapping

java - 无法从部署在tomcat中的jar文件中提取dll文件

java - 从资源目录加载属性文件(IDE 与可运行的 JAR)

java - lucene索引文件随机崩溃并需要重新索引

java - 如何在 JavaFX 选项卡中显示 JFreeChart?

java - 在其他计算机上运行 SWT/JFace 项目的可执行 jar

java - 调用 jar.exe,错误 C :\Program Files\Java\jdk1. 7.0_10\bin\jar.exe 不是有效的 Win32 应用程序