将可运行的 Java 类导出到.jar文件中,仅包含所需的依赖项



可能的重复项:
如何确定 Java 程序使用哪些类?

我在Eclipse上有一个Java项目,其中包含许多Java类。我想将其中一个导出到.jar文件,但我遇到了一些问题。

我已经通读了一些现有的线程,但我没有得到满足我要求的正确答案,因为:

如果我选择"导出到 JAR 文件",我会导出正确的类,但.jar文件不包含运行 jar 文件所需的依赖项。

如果我选择"导出到可运行的JAR文件",则生成的jar文件包含所有依赖项,但也放入整个项目中的所有其他类(也是我不需要的类)。

如何将单个 Java 类导出到包含运行 jar 文件所需的库的.jar文件?生成的 jar 文件必须尽可能小。

多谢。

您可以创建一个仅包含所需类的新项目,并将该项目导出为可运行的 jar。

可能有解决方法,具体取决于您需要的用例。通常,由于代码可能会在运行时等加载类,因此无法进行完整的依赖项分析。如果您需要 .jar 尽可能小(例如,如果您希望能够"klickstart"应用程序的各个部分而不是冗余地浪费存储),您可以使用

Export... -> Runnable JAR File -> Copy required libraries into a sub-folder...

然后,Ant 只为所有 JAR 保留外部库的一个副本。请提供有关您的用例的更多信息,以便我们可以发布更具体的答案:)

试试这个,这是在日食中创建 jar 或可运行 jar 的方法

File -> Export-> Java ->Runnbale JAR file
Launch configuration : your Class containing the public static void main(String[] args)
Export destination : Target place
Library Handling:
Package required libraries into generated JAR
FINISH

最新更新