Building a Multiplatform SDKMAN in JavaFX
summary
A native SDKMAN GUI is implemented with JavaFX, compiled to GraalVM native images and packaged via Gluon plugins; a working Windows/Linux/macOS app is produced and distributed with GitHub Actions and JReleaser into four platform artifacts. Build requires heavy native toolchains (Windows Visual Studio ~10 GB), an agent to generate reflect-config.json per OS, and some manual copying for OS-specific native-image resources. Measured startup is 500 ms startup versus ~2 s for fat jar, and a hello world image is ~12 MB native image; Gluon JDK required for JavaFX native builds.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:25What is SDKMAN
- 1:53Background
- 3:46SDKMAN Demo
- 5:35Hello World Example
- 6:20Packages
- 13:40Windows
- 15:25Reflection
- 20:19JavaFX
- 23:58Troubleshooting
- 28:46Adding a download
- 34:27Creating UI
- 35:01Automating Release
- 39:27Conclusion
related talks
57mJavaFX for Mobile Development
50mJava Packaging Tool: Create Native Packages to Deploy Java Applications
52mGraalVM native images explained
49mBuilding native images for fun and profit
42mJava in the Cloud with GraalVM
46mBuilding Mobile Apps with Gluon and Java Revisited
44mSelf-contained Native Binaries for Java with GraalVM
09mInterview
