一个最小的精简的JRE for Windows

2022-09-03 08:09:20

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

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

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

这些和其他线程中的许多答案都建议Excelsior。我下载了Excelsior JET的评估版并试用了它 - 出于几个原因,我认为它可能不是适合我的产品。

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

2)除此之外,Excelsior对代码进行了很多优化以实现这一点 - 我根本不希望我的jar文件被触及。我想要一个更小的JRE,我的罐子是原来的。没有办法关闭某些优化。

3)Excelsior创建了一个EXE - 我不是特别在寻找这个 - 我同意通过javaw.exe命令行调用我的产品。

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


答案 1

Avian和ProGuard是你的朋友,因为有人已经在你链接到的一个线程中提到过(顺便说一句,这是第二条评论)。

从禽类主页:

类库设计为尽可能松散耦合,允许 ProGuard 等工具主动隔离应用程序所需的最少代码。这意味着更小的下载和更快的启动。

听起来正是您所需要的。如果这对您没有帮助,请查看该线程中引用的其余工具。


答案 2

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


推荐