GraalVM native image

Helidon applications can be compiled into a native executable using GraalVM native image.

When using applications created using the CLI, or when you configure Helidon application pom as a parent of your module, you can use the following steps to build a native image from your application:

  1. Create an environment variable GRAALVM_HOME pointing to your installation of GraalVM with native-image installed
  2. Run Maven command mvn clean package -Pnative-image
  3. Execute the native executable created in target directory of your project

AOT supported modules

Some Helidon components are not (yet) supported in native image, some have restrictions. The following table lists all Helidon features and their support for native image.

Helidon SE features in AOT
FeatureComponentAOT note
✅ConfigConfig 
✅ Encryption 
✅ HOCON 
✅ Object Mapping 
✅ YAML 
❓ etcdNot yet tested.
✅ git 
✅Db ClientDb Client 
✅ Health Check 
🔶 JDBCTested with Helidon modules for Oracle and H2 driver (see examples)
✅ Metrics 
✅ Tracing 
✅ mongo 
✅HealthHealth 
✅ Built-ins 
✅MessagingMessaging 
✅MetricsMetrics 
✅OpenAPIOpenAPI 
✅SecuritySecurity 
✅ Integration: Jersey 
✅ Integration: WebServer 
✅ Integration: gRPC 
✅ OIDC 
✅ Provider: ABAC 
✅ Provider/ABAC/Policy: ELRequires reflection configuration for used classes.
✅ Provider/ABAC: Role 
✅ Provider/ABAC: Scope 
✅ Provider/ABAC: Time 
❓ Provider: Google LoginNot yet tested.
✅ Provider: Header 
✅ Provider: HTTP Basic 
✅ Provider: HTTP Digest 
✅ Provider: HTTP Signatures 
❓ Provider: IDCS Role MapperNot yet tested.
✅ Provider: JWT 
✅TracingTracing 
✅ Integration: Jersey Server 
✅ Integration: Jersey Client 
✅ Jaeger 
✅ Zipkin 
✅WebClientWebClient 
✅ Web Client 
✅ Jackson 
✅ JSON-B 
✅ JSON-P 
✅ Metrics 
✅ Multi-part 
✅ Security 
✅ Tracing 
✅WebServerWebServer 
✅ Access Log 
✅ CORS 
✅ Jackson 
✅ Jersey 
✅ JSON-B 
✅ JSON-P 
✅ Multi-part 
❓ PrometheusNot yet tested.
✅ WebsocketServer only.
✅gRPC ServergRPC ServerSince GraalVM 21.0.0
✅ Metrics 
✅gRPC ClientgRPC ClientSince GraalVM 21.0.0
✅ Metrics 
✅SchedulingScheduling 
✅OCIOCI IntegrationModules with group id io.helidon.integrations.oci
✅VaultHashicorp Vault Integration