This repository contains a example built with Makefile and GraalVM of a native Java application. You can use it as a starting template for developing embedded Java applications.
-
No build systems are used, just pure
javac
. The build is automated using the Makefile; -
Java 21 is used, with the ability to easily enable and disable the
--enable-preview
flag. Virtual threads are used as an example of an experimental feature; -
The example includes working with resource files. They are included and excluded from the bundle;
-
The example has a demonstration of working with code generation at compilation using JavaCC as an example;
-
The example has a demonstration of autotests without using any dependencies;
-
The example has a demonstration of generating javadocs;
-
The example applies Profile-Guided Optimizations.
make test
# or
make jar
# or
make native-image
See the docs/README.adoc for full documentation.
All notable changes to this project are documented in docs/Changelog.adoc file. This project adheres to Semantic Versioning.
This software is available under Public Domain. See the docs/License.adoc for detailed licensing information.