GraalVM: Difference between revisions
Jump to navigation
Jump to search
Line 74: | Line 74: | ||
* [https://blog.softwaremill.com/small-fast-docker-images-using-graalvms-native-image-99c0bc92e70b Small & fast Docker images using GraalVM] | * [https://blog.softwaremill.com/small-fast-docker-images-using-graalvms-native-image-99c0bc92e70b Small & fast Docker images using GraalVM] | ||
* [https://www.batey.info/graalvm-docker-small-images.html Tiny docker images for Java with GraalVM] | * [https://www.batey.info/graalvm-docker-small-images.html Tiny docker images for Java with GraalVM] | ||
* [https://codetinkering.com/install-graalvm-native-image-mac/ Install GraalVM & Native-Image on a Mac] | |||
* [https://zeringue.io/post/graalvm-gradle-docker/ Build Slim Java Native Container] | * [https://zeringue.io/post/graalvm-gradle-docker/ Build Slim Java Native Container] | ||
|} | |} |
Revision as of 10:31, 10 December 2021
export GRAALVM_HOME=/d/opt/cli/mandrel-java11-21.2.0.0-Final
export PATH=$GRAALVM_HOME/bin:$PATH
OR export GRAALVM_HOME=/d/opt/cli/graalvm-ce-java11-21.2.0
export PATH=$GRAALVM_HOME/bin:$PATH
gu install native-image
|
set GRAALVM_HOME=D:\opt\cli\mandrel-java11-21.2.0.0-Final
set PATH=%GRAALVM_HOME%/bin;%PATH%
OR set GRAALVM_HOME=D:\opt\cli\graalvm-ce-java11-21.2.0
set PATH=%GRAALVM_HOME%/bin;%PATH%
gu install native-image
|
# for oracle linux, debian, redhat
sudo yum install gcc glibc-devel zlib-devel
sudo apt install build-essential libz-dev zlib1g-dev
sudo dnf install gcc glibc-devel zlib-devel libstdc++-static
# to use xcode in macos
xcode-select --install
|
To build a native image as a shared library of a Java class file, pass --shared
to the native image builder. The created shared library will have the main method of the given Java class as its entrypoint method.
native-image class [libraryname] --shared
To build a native image as a shared library of a JAR file, use:
native-image -jar jarfile [libraryname] --shared
Note: if you build a shared library where you do not specify a main class, you must append the -H:Name=
flag to specify the library name: -H:Name=libraryname
.