我正在使用 JavaFX 编写一个应用程序,并且担心我将本机部署的 .EXE 文件的大小。我的应用程序并不是那么大(总共不到 5M),但 Java 运行时使最终安装的目录远超过 100M,并压缩为可分配的 44M 文件。
我一直在 64 位 Windows (Java SE 8u77) 上运行测试。为了使最终的可执行文件更小,我删除了 JRE 中不必要的部分,如下所述: http: //www.oracle.com/technetwork/java/javase/jre-8-readme-2095710.html
这是我发现的:
有谁知道如何使可分发的 .EXE 更小吗?我发现的所有信息都至少有两三年的历史,也许不再那么相关了。我觉得 JRE 可以提供更多功能,但这似乎会违反许可协议。
有人有使用任何非 Oracle 发行版或任何其他方法来缩小 JavaFX 应用程序的经验吗?
使用javapackager时,可以设置不包含JRE。这使得本机启动器使用本地安装的 JRE(这可能不是最佳解决方案)。
使用javafx-maven-plugin时,您只需设置一个bundlerArgument:
<configuration>
<mainClass>com.zenjava.test.Main</mainClass>
<bundleArguments>
<runtime /> <!-- dont include JRE, use installed one -->
</bundleArguments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
使用javafx-gradle-plugin时,只需将运行时设置为NULL即可:
jfx {
verbose = true
mainClass = 'your.application.appname'
appName = 'appname'
jfxMainAppJarName = 'appname.jar'
vendor = "My Company"
bundleArguments = [
runtime: null
]
}
Run Code Online (Sandbox Code Playgroud)
当使用javapacker本身的ant风格的xml文件时,只需设置:
<fx:bundleArgument name="runtime" value="" />
免责声明:我是javafx-maven-plugin的维护者和javafx-gradle-plugin的创建者。
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |