This is a project which uses GraalVM to build a native image of a basic Vert.x application.
For comparison, the application can also be containerized by using Jib.
This repository contains the source code for running a basic Vert.x application with as few Verticles as possible. The idea is to provide configuration examples to illustrate various aspects of configuring the application.
- Basic Vert.x application.
- Logging configuration via Logback.
- External Override of Logback configuration.
- External and Dyanmic configuration file reload.
- Native executable binary.
- Containerization
- Setting Gabage collector
- G1 collector is not yet supported on MacOS arm64.
- No cross-compile support.
- Have to use machines with different OS and platforms to build the native image for each OS/platform.
The Java release version is set to 22 for maven-compiler-plugin
in the pom.xml
file.
GraalVM can be installed via sdkman
sdk install java 22-graalce
See How To Build
See How To Run
See Logging
See Reading Files
See Override with External Files for details.