13.4 Micronaut for GraalVM

GraalVM is a new universal virtual machine from Oracle that supports a polyglot runtime environment and the ability to compile Java applications down to native machine code.

Any Micronaut application can be run using the GraalVM JVM, however special support has been added to Micronaut to support running Micronaut applications using GraalVM’s nativeimage tool.

Experimental Status

Although GraalVM 19.0.0 is the first Production ready release the support for creating native-images is still considered experimental. Third-party library support is hit and miss and the Micronaut team are still ironing out all of the potential issues. Don’t hesitate to report issues however and gradually over time the support will become more stable.

So far Micronaut’s HTTP server, HTTP client, function support and service discovery module have been verified as working on GraalVM 1.0 RC6 or above. Support for other modules is still evolving and will improve over time.

Getting Started

Use of GraalVM’s native-image tool is only supported in Java or Kotlin projects. Groovy relies heavily on reflection which is only partially supported by GraalVM.

To start using GraalVM you should first install the GraalVM SDK via the Getting Started.