新时代 Java 11+ JavaFx JLink GraalVM native-image 等技术学习

笔者是在2014~2020年从事JavaWeb开发工作,之前的工作项目和业余研究一直停留在JDK1.8时代,这几天刚好研究了下JavaFx15+Java11组合使用jlink打包为精简jvm映像的技术。
在近几年微服务、云原生等概念的发展趋势下,挑大梁的Spring全家桶系列也在面临各种挑战。目前Oracle和Spring团队也在密切配合关于Spring系列适配GraalVM native-image的问题。

技术概览

  • JDK 11 本身已经模块化,不带jre,使用jlink打包所依赖的库也需要支持模块化,三方库适配问题感觉又是增加了java技术栈的历史包袱
  • JDK 14 新增的jpackage打包工具能发展到什么程度,暂时未知
  • JavaFX JDK11已经移除了JavaFX,作为独立发展的项目,开发时需要单独下载配置sdk或者使用maven构建
  • GraalVM 刚发展没几年,现在的版本是21.0,支持windows下native-image打包插件的使用,依赖vs2019

JDK11 + JavaFx15

可以参考我再码云上的一个项目:https://gitee.com/westinyang/javafx-jdk11-start
里面也提到了之前用JDK8开发JavaFX应用的两个项目,一个加持SpringBoot,一个纯粹的JavaFX。

GraalVM

Gluon公司是OpenJFX项目和Graalvm项目的贡献者
client-maven-plugin封装了native-image的相关命令,简化了打包操作
client-maven-plugin插件文档

  • Windows下使用Graalvm将Javafx应用编译成exe
  • 为 JavaFX 应用生成 native image

扩展资料

bell-sw.com OpenJDK发行整合JavaFx Native Image Kit

你可能感兴趣的:(新时代 Java 11+ JavaFx JLink GraalVM native-image 等技术学习)