从jre中的rt.jar中删除未使用的类

时间:2011-04-25 20:36:23

标签: java

我试图从rt.jar中删除未使用的.class文件并将其捆绑到我的程序中但有2个问题:

  1. java是一种JIT语言,一些必需的libs会在点击等一些进程后加载...所以如果用ERROR-SUCCESS方法删除文件,你将会失败。

  2. java运行时需要的许多classess用于第一次准备。

  3. 那么我怎样才能找出不需要哪些类文件?

4 个答案:

答案 0 :(得分:1)

看看Bundling a minimal 'bare bones' JVM with your Application做你想做的事。作者将“Hello World”应用程序缩小到5MB JVM。然而,这可能不合法,你应该先检查一下。

您可能还想考虑包含或链接到在线安装程序。对于Windows,它低于1MB且可用here

答案 1 :(得分:0)

不要捆绑rt.jar。你不需要。它已经与Java虚拟机一起分发,任何可以运行程序的人都已经拥有它。

答案 2 :(得分:0)

在我的机器上,我的rt.jar大约是48meg。我可以理解为什么你不想捆绑额外的48meg。但是,我做了一个7zip压缩(上下文菜单中的默认设置),因为它只是压缩得很好的代码,它压缩到10meg。

我建议只需在安装时压缩然后解压缩。

编辑:整个jre(我假设你需要,但你已经修剪了你不需要的文件)压缩到大约21兆。

答案 3 :(得分:0)

你不能只捆绑rt.jar,你必须捆绑整个JRE。

相关问题