/helloworld-java-jpackage

HelloWorld in Java ☕️ (JPACKAGE)

Primary LanguageJavaApache License 2.0Apache-2.0

Helloworld in Java

This repository shows how to configure GitHub Actions and JReleaser to:

  • compile a helloworld app with bundled Java Runtimes using jlink & jpackage for:

    • linux-x86_64 as RPM & DEB

    • osx-x86_64 as PKG

    • osx-aarch_64 as PKG

    • windows-x86_64 as MSI

  • assemble distributions with JReleaser

  • create rolling early-access releases with JReleaser on every push to main branch

JReleaser requires 2 additional inputs that may be set as environment variables, JRELEASER_PROJECT_VERSION and JRELEASER_GITHUB_TOKEN. More information about environment variable configuration may be found in the guide.

There are two modes for packaging this application: classpath & modulepath.

classpath

  1. ./mvnw verify

  2. ./mvnw -Pjdks

  3. jreleaser assemble

modulepath

  1. ./mvnw verify

  2. ./mvnw -Pjdks

  3. jreleaser assemble --config-file jreleaser-modules.yml

In both cases the assembled archive is placed at out/jreleaser/assemble/helloworld/jpackage.