/java-cli-project-template

Project template for bootstrapping Java & Picocli based CLI

Primary LanguageJavaMIT LicenseMIT

Java CLI project template

Probably the fastest way to bootstrap a Java Command Line Application (CLI) project!

Click the big green Use This Template button and start building your own CLI.

🤩 Highlights

  • uses Picocli for simple and elegant commands implementation
  • builds to an executable jar and GraalVM Native Image
  • preconfigured help and version commands
  • generates Bash/ZSH autocompletion scripts
  • uses Maven as a build tool
  • no frameworks like Spring, Micronaut or Quarkus

🛠 Requirements

🤔 How to use

Run tests & build an executable JAR:

$ ./mvnw package

Run tests as native image & build a native executable:

$ ./mvnw package -Pnative

Run application through Maven

$ ./mvnw -Dexec.args=--help

Build container in local docker daemon

$ ./mvnw -Pnative clean verify jib:dockerBuild -Dimage=org.example.registry/app:latest -Djib.dockerClient.executable=/opt/homebrew/bin/docker.lima

Inspect image content with

$ dive org.example.registry/app:latest

Sounds good? Consider ❤️ Sponsoring the project! Thank you!