The GraalVM SDK is a collection of APIs for the components of GraalVM.
org.graalvm.nativeimage: The Native Image public API for advanced use cases.org.graalvm.polyglot: A library that allows embedding of polyglot language implementations in Java.org.graalvm.word: A low-level library for machine-word-sized values in Java.org.graalvm.collections: A collections library for GraalVM components.
To get started, download and install GraalVM for your operating system as described in the installation guide.
The org.graalvm.nativeimage, org.graalvm.word, and org.graalvm.collection modules from the GraalVM SDK are included in a GraalVM JDK and can be used like any other module.
The GraalVM SDK bits are also available on Maven central. Add these module dependencies to your Maven project configuration file:
<dependency>
<groupId>org.graalvm.sdk</groupId>
<artifactId>nativeimage</artifactId>
<version>${graalvm.version}</version>
</dependency>
<dependency>
<groupId>org.graalvm.sdk</groupId>
<artifactId>word</artifactId>
<version>${graalvm.version}</version>
</dependency>
<dependency>
<groupId>org.graalvm.sdk</groupId>
<artifactId>collections</artifactId>
<version>${graalvm.version}</version>
</dependency>The org.graalvm.polyglot module is not contained by default in the GraalVM JDK.
To enable a language embedding in Java, specify the language as a dependency.
If you need the Truffle tools for your polyglot application, enable them through a dependency too.
Below is an example of the Maven configuration:
<dependency>
<groupId>org.graalvm.polyglot</groupId>
<artifactId>polyglot</artifactId>
<version>${graalvm.polyglot.version}</version>
</dependency>
<dependency>
<groupId>org.graalvm.polyglot</groupId>
<artifactId>js|python|ruby|wasm|llvm|java</artifactId>
<version>${graalvm.polyglot.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.graalvm.polyglot</groupId>
<artifactId>tools</artifactId>
<version>${graalvm.polyglot.version}</version>
<type>pom</type>
</dependency>- Embedding Languages documentation to learn how to use the Polyglot API to embed GraalVM languages in Java host applications.
- Polyglot Embedding Demonstration on GitHub to find a complete runnable Maven and Gradle examples.
Important API changes and additions are tracked in the SDK changelog.
GraalVM SDK is licensed under the Universal Permissive License.