适用于Windows的最小剥离式JRE

时间:2012-10-18 11:38:09

标签: deployment java software-distribution

我有一个jar文件形式的应用程序,大小约为2MB。出于几个原因,我必须将JRE与我的应用程序捆绑在一起。当我使用jar和JRE创建MSI时,MSI大小约为30MB。

我正在寻找可以捆绑的商业或免费JRE,这样我就可以将MSI的大小减小到尽可能低。我总共看5MB,但即使高达10MB也可以。 预建的JRE二进制文件很棒,但不是绝对必须的。

我查看了herehere发布的类似问题。

这些和其他线索中的很多答案都表明Excelsior。我下载了Excelsior JET&评估版。试了一下 - 由于一些原因,我认为它可能不适合我。

1)Excelsior着眼于减少已安装产品的占地面积,而不是安装程序。我不太关心已安装产品的大小 - 我主要关注较小的下载(我的产品安装程序目前为30MB)。

2)除此之外,Excelsior对代码进行了大量优化以实现这一目标 - 我不希望我的jar文件被触及。我希望我的罐子里有一个较小的JRE。也没有办法关闭一些优化措施。

3)Excelsior创建了一个EXE - 我不是特别想要这个 - 我可以通过javaw.exe命令行调用我的产品。

那么对我的需求有什么建议吗?

4 个答案:

答案 0 :(得分:1)

Avian和ProGuard是你的朋友,因为有人在你链接到的一个主题中有already mentioned(这是第二个评论顺便说一句)。

来自Avian主页:

  

类库设计为尽可能松散耦合,   允许像ProGuard这样的工具积极地隔离最小代码   申请所需。这意味着更小的下载和   更快的启动。

听起来就像你需要的一样。如果这对您没有帮助,那么请查看该线程中引用的其他工具。

答案 1 :(得分:1)

这里有一个可能的解决方案。这些工具安装了Java的简约版本。我不知道它是否足够小。看看,看看: https://superuser.com/questions/745112/how-do-i-run-a-jar-file-without-installing-java

答案 2 :(得分:0)

答案 3 :(得分:-1)

我会将JRE作为Oracle(或您首选供应商)的单独安装。如果您愿意,可以根据需要下载。如果已经安装了JRE,即使是减少的JRE,再次下载也是一种浪费。

BTW:我不会搞乱JRE中的内容,因为

  • AFAIK违反了您的许可协议。
  • 很难做到正确而且不会删除有朝一日可能需要的课程。