将可运行Java类导出为.jar文件,仅包括必需的依赖项

时间:2012-06-18 16:04:53

标签: java eclipse jar dependencies export

  

可能重复:
  How to determine which classes are used by a Java program?

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

我已经阅读了一些现有的帖子,但我没有得到正确的答案,因为:

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

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

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

非常感谢。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

可能有一种解决方法,具体取决于您需要的用例。通常,由于您的代码可能在运行时加载类等,因此无法进行完全依赖性分析。 如果您需要.jars尽可能小(例如,如果您希望能够“klickstart”部分应用程序而不是浪费存储空间),您可以使用

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

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

答案 2 :(得分:0)

试试这个,这是在eclipse中创建jar或runnable 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