Ready for Native Image: Libraries and Frameworks
This page provides an overview of libraries and frameworks that are ready for GraalVM Native Image.
Frameworks Ready for Native Image
The following table lists frameworks that are ready for GraalVM Native Image. These frameworks also provide an out-of-the-box experience for many third-party libraries and frameworks. For more details on what they offer, please refer to their project launchers.
Name | Project Launcher | Provider of Reachability Metadata |
---|---|---|
Helidon | helidon.io/starter | framework + GraalVM Reachability Metadata repository |
Micronaut | micronaut.io/launch | framework + GraalVM Reachability Metadata repository |
Quarkus | code.quarkus.io | framework |
Spring | start.spring.io | framework + GraalVM Reachability Metadata repository |
Libraries and Frameworks Tested with Native Image
The following table lists libraries and frameworks from the Java ecosystem that are tested with GraalVM Native Image. Each item in the list is annotated with a test level, as follows:
- Tested (★★): The library or framework is continuously tested by its maintainers. (This is the best test level.)
- Community-tested (★): The library or framework is continuously tested as part of the GraalVM Reachability Metadata repository or some other community-driven project.
If you would like to add your library and framework to this list, please open a pull request and add an entry to this file according to this schema.
Name | Version | Test Level |
---|---|---|
ch.qos.logback:logback-classic 1) |
1.2.11 - latest | ★ |
com.datastax.oss:java-driver-core |
4.1.5 - latest | ★ |
com.ecwid.consul:consul-api 1) |
1.4.5 - latest | ★ |
com.github.ben-manes.caffeine:caffeine 1) |
3.1.2 - latest | ★ |
com.github.luben:zstd-jni 1) |
1.5.2-5 - latest | ★ |
com.google.protobuf:protobuf-java-util 1) |
3.21.12 - latest | ★ |
com.graphql-java:graphql-java 1) |
19.2 - latest | ★ |
com.h2database:h2 1) |
2.1.210 - latest | ★ |
com.hazelcast:hazelcast 1) |
5.2.1 - latest | ★ |
com.mysql:mysql-connector-j 1) |
8.0.31 - latest | ★ |
com.oracle.database.jdbc:ojdbc11 |
21.1.0.0 - latest | ★★ |
com.oracle.database.jdbc:ojdbc8 |
21.1.0.0 - latest | ★★ |
com.sun.mail:jakarta.mail 1) |
2.0.1 - latest | ★ |
com.zaxxer:HikariCP 1) |
5.0.1 - latest | ★ |
io.grpc:grpc-netty 1) |
1.51.0 - latest | ★ |
io.helidon.config:helidon-config |
1.0.0 - latest | ★★ |
io.helidon.microprofile.bundles:helidon-microprofile |
2.0.0 - latest | ★★ |
io.helidon.microprofile.bundles:helidon-microprofile-core |
2.0.0 - latest | ★★ |
io.helidon.webclient:helidon-webclient |
1.0.0 - latest | ★★ |
io.helidon.webserver:helidon-webserver |
1.0.0 - latest | ★★ |
io.jsonwebtoken:jjwt-gson 1) |
0.11.5 - latest | ★ |
io.jsonwebtoken:jjwt-jackson 1) |
0.11.5 - latest | ★ |
io.jsonwebtoken:jjwt-orgjson 1) |
0.11.5 - latest | ★ |
io.micronaut.acme:micronaut-acme |
3.2.0 - latest | ★★ |
io.micronaut.aws:micronaut-aws-bom |
3.10.5 - latest | ★★ |
io.micronaut.azure:micronaut-azure-bom |
4.0.0 - latest | ★★ |
io.micronaut.data:micronaut-data-bom |
3.9.4 - latest | ★★ |
io.micronaut.discovery:micronaut-discovery-client |
3.2.0 - latest | ★★ |
io.micronaut.email:micronaut-email-bom |
1.5.0 - latest | ★★ |
io.micronaut.flyway:micronaut-flyway-bom |
5.4.1 - latest | ★★ |
io.micronaut.gcp:micronaut-gcp-bom |
4.8.0 - latest | ★★ |
io.micronaut.grpc:micronaut-grpc-bom |
3.5.0 - latest | ★★ |
io.micronaut.jaxrs:micronaut-jaxrs-bom |
3.4.0 - latest | ★★ |
io.micronaut.jms:micronaut-jms-activemq-artemis |
2.1.0 - latest | ★★ |
io.micronaut.jms:micronaut-jms-activemq-classic |
2.1.0 - latest | ★★ |
io.micronaut.jms:micronaut-jms-core |
2.1.0 - latest | ★★ |
io.micronaut.jms:micronaut-jms-sqs |
2.1.0 - latest | ★★ |
io.micronaut.kafka:micronaut-kafka-bom |
4.5.0 - latest | ★★ |
io.micronaut.kotlin:micronaut-kotlin-bom |
3.2.2 - latest | ★★ |
io.micronaut.kubernetes:micronaut-kubernetes-bom |
3.4.0 - latest | ★★ |
io.micronaut.liquibase:micronaut-liquibase-bom |
5.6.0 - latest | ★★ |
io.micronaut.micrometer:micronaut-micrometer-bom |
4.7.0 - latest | ★★ |
io.micronaut.mongodb:micronaut-mongo-bom |
4.6.0 - latest | ★★ |
io.micronaut.mqtt:micronaut-mqtt-bom |
2.3.0 - latest | ★★ |
io.micronaut.objectstorage:micronaut-object-storage-bom |
1.1.0 - latest | ★★ |
io.micronaut.openapi:micronaut-openapi-bom |
4.8.1 - latest | ★★ |
io.micronaut.oraclecloud:micronaut-oraclecloud-bom |
2.3.1 - latest | ★★ |
io.micronaut.picocli:micronaut-picocli-bom |
4.3.0 - latest | ★★ |
io.micronaut.problem:micronaut-problem-json-bom |
2.6.0 - latest | ★★ |
io.micronaut.r2dbc:micronaut-r2dbc-bom |
4.0.0 - latest | ★★ |
io.micronaut.reactor:micronaut-reactor-bom |
2.5.0 - latest | ★★ |
io.micronaut.redis:micronaut-redis-bom |
5.3.2 - latest | ★★ |
io.micronaut.rxjava1:micronaut-rxjava1 |
1.0.0 - latest | ★★ |
io.micronaut.rxjava2:micronaut-rxjava2-bom |
1.3.0 - latest | ★★ |
io.micronaut.rxjava3:micronaut-rxjava3-bom |
2.4.0 - latest | ★★ |
io.micronaut.security:micronaut-security-bom |
3.9.0 - latest | ★★ |
io.micronaut.serde:micronaut-serde-bom |
1.5.0 - latest | ★★ |
io.micronaut.servlet:micronaut-servlet-bom |
3.3.3 - latest | ★★ |
io.micronaut.spring:micronaut-spring-bom |
4.4.0 - latest | ★★ |
io.micronaut.sql:micronaut-sql-bom |
4.7.2 - latest | ★★ |
io.micronaut.test:micronaut-test-bom |
3.8.0 - latest | ★★ |
io.micronaut.test:micronaut-test-bom |
3.8.0 - latest | ★★ |
io.micronaut.testresources:micronaut-test-resources-bom |
1.2.3 - latest | ★★ |
io.micronaut.tracing:micronaut-tracing-bom |
4.4.0 - latest | ★★ |
io.micronaut.views:micronaut-views-bom |
3.8.0 - latest | ★★ |
io.micronaut.xml:micronaut-jackson-xml |
3.2.0 - latest | ★★ |
io.micronaut:micronaut-tracing |
3.2.7 - latest | ★★ |
io.netty:netty-buffer 1) |
4.1.80.Final - latest | ★ |
io.netty:netty-codec-http 1) |
4.1.80.Final - latest | ★ |
io.netty:netty-codec-http2 1) |
4.1.80.Final - latest | ★ |
io.netty:netty-common 1) |
4.1.80.Final - latest | ★ |
io.netty:netty-handler 1) |
4.1.80.Final - latest | ★ |
io.netty:netty-resolver-dns 1) |
4.1.80.Final - latest | ★ |
io.netty:netty-transport 1) |
4.1.76.Final - latest | ★ |
io.netty:netty5-parent |
5.0 - latest | ★ |
io.undertow:undertow-core 1) |
2.2.19.Final - latest | ★ |
javax.cache:cache-api 1) |
1.1.1 - latest | ★ |
mysql:mysql-connector-java 1) |
8.0.29 - latest | ★ |
net.java.dev.jna:jna 1) |
5.8.0 - latest | ★ |
org.apache.commons:commons-pool2 1) |
2.11.1 - latest | ★ |
org.apache.tomcat.embed:tomcat-embed-core |
9.0 - latest | ★ |
org.apache.tomcat.embed:tomcat-embed-core 1) |
10.0.20 - latest | ★ |
org.eclipse.angus:jakarta.mail 1) |
1.0.0 - latest | ★ |
org.eclipse.jetty:jetty-client 1) |
11.0.12 - latest | ★ |
org.eclipse.jetty:jetty-server 1) |
11.0.12 - latest | ★ |
org.ehcache:ehcache 1) |
3.10.8-jakarta - latest | ★ |
org.example:library 1) |
0.0.1 - latest | ★ |
org.flywaydb:flyway-core 1) |
9.0.1 - latest | ★ |
org.freemarker:freemarker 1) |
2.3.31 - latest | ★ |
org.glassfish.jaxb:jaxb-runtime 1) |
3.0.2 - latest | ★ |
org.hdrhistogram:HdrHistogram 1) |
2.1.12 - latest | ★ |
org.hibernate.orm:hibernate-core 1) |
6.1.1.Final - latest | ★ |
org.hibernate.orm:hibernate-envers 1) |
6.1.1.Final - latest | ★ |
org.hibernate.validator:hibernate-validator 1) |
7.0.4.Final - latest | ★ |
org.jboss.logging:jboss-logging 1) |
3.5.0.Final - latest | ★ |
org.jetbrains.kotlin:kotlin-reflect 1) |
1.7.10 - latest | ★ |
org.jline:jline 1) |
3.21.0 - latest | ★ |
org.liquibase:liquibase-core 1) |
4.17.0 - latest | ★ |
org.mariadb.jdbc:mariadb-java-client 1) |
3.0.6 - latest | ★ |
org.mockito:mockito-core 1) |
4.8.1 - latest | ★ |
org.neo4j.driver:neo4j-java-driver |
4.4.6 - latest | ★★ |
org.opengauss:opengauss-jdbc 1) |
3.1.0-og - latest | ★ |
org.postgresql:postgresql 1) |
42.3.4 - latest | ★ |
org.quartz-scheduler:quartz 1) |
2.3.2 - latest | ★ |
org.springframework.boot:spring-boot-starter-actuator |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-amqp |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-cache |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-jdbc |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-jpa |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-mongodb |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-mongodb-reactive |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-r2dbc |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-redis |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-redis-reactive |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-data-rest |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-freemarker |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-graphql |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-hateoas |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-integration |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-jdbc |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-jetty |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-json |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-logging |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-mail |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-mustache |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-oauth2-client |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-oauth2-resource-server |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-quartz |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-reactor-netty |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-rsocket |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-security |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-test |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-thymeleaf |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-tomcat |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-undertow |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-validation |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-web |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-webflux |
3.0.0 - latest | ★★ |
org.springframework.boot:spring-boot-starter-websocket |
3.0.0 - latest | ★★ |
org.springframework.security:spring-security-ldap |
6.0.0 - latest | ★★ |
org.springframework.session:spring-session-data-redis |
3.0.0 - latest | ★★ |
org.springframework.session:spring-session-jdbc |
3.0.0 - latest | ★★ |
org.testcontainers:testcontainers 1) |
1.17.6 - latest | ★ |
org.thymeleaf.extras:thymeleaf-extras-springsecurity6 1) |
3.1.0.M1 - latest | ★ |
org.thymeleaf:thymeleaf 1) |
3.1.0.M2 - latest | ★ |
org.thymeleaf:thymeleaf-spring6 1) |
3.1.0.M2 - latest | ★ |
1) Requires metadata from the GraalVM Reachability Metadata repository. We recommend you use the Maven or Gradle plugins from Native Build Tools, which have options to pull appropriate metadata automatically.