Skip to content

dnestoro/graalvm-reachability-metadata

 
 

Repository files navigation

GraalVM Reachability Metadata Repository

When you use GraalVM Native Image to build a native executable it only includes the elements reachable from your application entry point, its dependent libraries, and the JDK classes discovered through static analysis. However, the reachability of some elements (such as classes, methods, or fields) may not be discoverable due to Java’s dynamic features including reflection, resource access, dynamic proxies, and serialization. If an element is not reachable, it is not included in the generated executable and this can lead to run time failures. To include elements whose reachability is undiscoverable, the Native Image builder requires externally provided reachability metadata.

The GraalVM Reachability Metadata Repository enables Native Image users to share and reuse metadata for libraries and frameworks in the Java ecosystem, and thus simplify maintaining third-party dependencies. The repository is integrated with GraalVM Native Build Tools beginning with version 0.9.13: you can enable automatic use of the metadata repository for Gradle projects or for Maven projects.

Contributing

We welcome contributions from the community. Before submitting a pull request, please review our contribution guide.

About

Repository which contains community-driven collection of GraalVM reachability metadata for open-source libraries.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 81.0%
  • Groovy 17.0%
  • Kotlin 2.0%