减少JavaFx包中JRE的大小

Ron*_*nak 16 java bundle javafx-2

我创建了一个JavaFX应用程序,为此它将它捆绑为一个独立的独立应用程序,使用Java Runtime的私有副本.

但这成了我的应用程序的166MB大小,其中146 MB的大小是jre.

如何减小应用程序的大小或者可以说捆绑运行时JRE的大小?

我在某处读到某些文件在jre中是可选的,所以我尝试在删除这些文件后运行我的应用程序但无法运行该应用程序.

那么如何从我的应用程序的Runtime JRE中删除未使用的文件/文件夹/模块?

的是

默认情况下,仅包含Java Runtime的子集.排除一些可选和很少使用的文件以减小包大小,例如所有可执行文件.如果您需要默认情况下不包含的内容,则需要将其作为后处理步骤进行复制.

所以默认情况下它不是在jre中添加所有文件,在这种情况下我的应用程序没有运行.Application.jar工作正常,因为它使用的是系统jar.所以我在后处理步骤中添加了所有重复文件.

谢谢

Spl*_*tar 3

Jigsaw 项目似乎希望能够帮助解决这个问题。

但它看起来最早会在 Java 9 中出现。

据我从您的帖子中了解到,您无法使用 JavaFX 提供的缩小的 JRE 大小来运行您的应用程序。此外,您尝试了此处详细说明的步骤,但仍然无法运行您的应用程序。

许多应用程序可以在 JRE 的 JavaFX 包中提供有限数量的类的情况下正常运行。也许您可以检查您正在使用哪些 Java 库导致此问题。然后您可以探索这些库的替代方案。最后,您需要测试这些替代库是否大于或小于 JavaFX 打包减少所带来的空间减少。

  • 似乎有些人只是因为无聊而投了反对票。我们对此无能为力。我在你的答案中没有看到任何需要改进的地方,虽然理论上是正确的,但我对将 JavaFX 应用程序与缩小的 JRE 捆绑在一起的任何尝试都没有太多期望,即使使用 Jigsaw,仅仅是因为 JavaFX 本身 * * JRE最大的模块。 (2认同)