自定义JRE以减少Java GUI应用程序大小是否合法?

时间:2010-10-12 05:25:16

标签: java swing bundle

像我说的那样,这个问题是关于重新分配JRE。

我写了一个swing应用程序来访问Google Docs服务,该服务命名为iGoSyncDocs,可以在http://igosyncdocs.sourceforge.net/找到。如果您有兴趣,请尝试并向我发送错误。谢谢你。

如果将JRE与App捆绑在一起是对的。

我认为我应该为所有操作系统安装一个安装程序。所以我尝试了很多。像install4j,exe4j,izpack和其他一些免费的东西。它们太棒了,我真的很喜欢它们,但是有了捆绑jre功能,我被困住了。整个jre几乎是100M,这使得它很难部署在客户端上。并且,jre本身有32bit和64bit的版本,我怎么能这样做?不同的版本合二为一?

如果我真的要减少rt.jar

基于java的应用程序将使用此rt.jar,我应该找出我使用的类,并将它们放入另一个自定义的rt.jar?我最担心的是,定制rt.jar并在客户端部署是合法的吗?

如果将JRE与app

捆绑在一起是错误的

所以,如果这是一个错误的想法,请告诉我你做了什么来指出我。我怎么能让应用真的很酷和稳定。

1 个答案:

答案 0 :(得分:3)

只要您提供资源,这对OpenJDK是合法的。

这是不可取的,因为你想让JRE保持最新状态,让每个程序使用自己的JRE都很糟糕,只是不好。

这只是一个问题,只有Windows,因为AFAIK MacOSX带有内置的java,* nix用户更喜欢从存储库安装程序,即使它非常小,他们也讨厌捆绑的jre。

所以我建议你按原样分发程序,就像jar一样。对于Windows用户,您可以创建一个批处理文件/小型安装程序来检查java并显示一些带有Oracle下载站点链接的消息。

编辑还有一点需要注意,jdk附带了一个打包jar文件的pack200实用程序,它可以将rt.jar从55M打包到6.5M。因此,对于Windows,您可以创建一个小脚本来打包/解包jre中的所有jar,以最小化您的分发大小。