Javafx 2 减少JavaFx包中JRE的大小
我创建了一个JavaFX应用程序,为此我使用Java Runtime的私有副本将它捆绑成一个独立的独立应用程序 但这变成了我的应用程序的166MB大小,其中146MB是用于jre的 我如何减少应用程序的大小,或者说是捆绑运行时JRE的大小 我读到一些文件在jre中是可选的,所以我尝试在删除这些文件后运行我的应用程序,但无法运行该应用程序 那么,如何从应用程序的运行时JRE中删除未使用的文件/文件夹/模块呢 就是 默认情况下,只包括Java运行时的一个子集。一些可选的 并排除很少使用的文件以减小包大小,例如 所有可执行文件。如果你需要的东西不包括在 默认情况下,则需要将其作为后处理步骤进行复制 因此,默认情况下,它不会在jre中添加所有文件,在这种情况下,我的应用程序不会运行。Application.jar在使用系统jar时工作正常。 因此,我在后处理步骤中添加了所有铰孔文件Javafx 2 减少JavaFx包中JRE的大小,javafx-2,bundle,java,Javafx 2,Bundle,Java,我创建了一个JavaFX应用程序,为此我使用Java Runtime的私有副本将它捆绑成一个独立的独立应用程序 但这变成了我的应用程序的166MB大小,其中146MB是用于jre的 我如何减少应用程序的大小,或者说是捆绑运行时JRE的大小 我读到一些文件在jre中是可选的,所以我尝试在删除这些文件后运行我的应用程序,但无法运行该应用程序 那么,如何从应用程序的运行时JRE中删除未使用的文件/文件夹/模块呢 就是 默认情况下,只包括Java运行时的一个子集。一些可选的 并排除很少使用的文件以减小包
谢谢Jigsaw项目似乎对这方面有所帮助
<fx:platform basedir="">
<fx:jvmarg value="-Xmx768m" />
</fx:platform>
这将打包应用程序及其依赖项,但不会打包JRE本身。不幸的是,使用Java 8无法删除未使用的文件 要减小应用程序大小,可以使用本机操作系统安装程序 Windows Exe安装程序的大小应在50 MB左右,并且
Mac OS X DMG安装程序大约为60MB 也许你可以试用ProGuard(),它还可以删除未使用的字段、类(“shrink”)。顺便问一句,你是否有理由将Java打包到应用程序中而不让用户安装它?@Adrian请查看更新。对于不想在系统上安装Java的用户。看看这个:如果我们不使用ant任务呢?还有什么其他工具可以推荐?请提供拒绝投票的原因,以便改进答案。尤其是当对4年前的答案投反对票时。似乎有人只是因为无聊而投反对票。我们对此无能为力。我在你的回答中没有看到任何需要改进的地方,尽管理论上是正确的,但我不会期望任何将JavaFX应用程序与缩小的JRE捆绑在一起的尝试,即使是Jigsaw,因为JavaFX本身是JRE中最大的模块。