This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/.
You can run your application in dev mode that enables live coding using:
./mvnw quarkus:devNOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
The application can be packaged using:
./mvnw packageIt produces the quarkus-run.jar file in the target/quarkus-app/ directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/ directory.
The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar.
If you want to build an über-jar, execute the following command:
./mvnw package -Dquarkus.package.jar.type=uber-jarThe application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar.
You can create a native executable using:
./mvnw package -DnativeOr, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Dnative -Dquarkus.native.container-build=trueYou can then execute your native executable with: ./target/code-with-quarkus-1.0.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.
-
JSON-B (guide): JSON Binding support
-
Container Image Podman (guide): Build container images of your application using Podman
-
Messaging - Kafka Connector (guide): Connect to Kafka with Reactive Messaging
-
Kafka Streams Processor (guide): Easily build resilient Kafka Streams topologies based on the Processor API
-
SmallRye JWT (guide): Secure your applications with JSON Web Token
-
Quarkus Support Azure Service Bus (guide): Interacts with Azure Service Bus through the Azure SDK for Java
-
JDBC Driver - PostgreSQL (guide): Connect to the PostgreSQL database via JDBC
-
Observability (guide): Serve and consume Observability Dev Services
-
Keycloak Authorization (guide): Policy enforcer using Keycloak-managed permissions to control access to protected resources
-
Micrometer registry - Datadog (guide): Send metrics to Datadog using the Datadog API
-
FluentJdbc (guide): a fluent API around JDBC for querying SQL databases.
-
Quarkus Support Azure Event Hubs (guide): Interacts with Azure Event Hubs through the Azure SDK for Java
-
OpenTelemetry (guide): Use OpenTelemetry to trace services
-
Micrometer OpenTelemetry Bridge (guide): Micrometer registry implemented by the OpenTelemetry SDK
-
Cucumber (guide): Run tests using Cucumber
-
Reactive PostgreSQL client (guide): Connect to the PostgreSQL database using the reactive pattern
-
OpenShift (guide): Generate OpenShift resources from annotations
-
Lucene (guide): Add full-text search capabilities to your application with Apache Lucene.
-
Logging Manager (guide): Provides endpoints to visualize and control the log level of your loggers.
-
Hibernate ORM (guide): Define your persistent model with Hibernate ORM and Jakarta Persistence
-
Micrometer registry - Azure Monitor (guide): Send data gathered by Micrometer to Azure Monitor
-
YAML Configuration (guide): Use YAML to configure your Quarkus application
-
Java Flight Recorder (JFR) (guide): Monitor your applications with Java Flight Recorder
-
Logging JSON (guide): Add JSON formatter for console logging
-
mDNS (guide): Multicast Domain Name System (mDNS) for service discovery and advertising
-
OpenID Connect Dynamic Client Registration (guide): Register clients with OpenID Connect providers
-
Flow (guide): Workflow engine for Quarkus based on the CNCF Workflow Specification, with Java DSL and Agentic AI support.
-
Drools (guide): Define and execute your business rules with Drools
-
OpenID Connect Database Token State Manager (guide): Store an OpenID Connect token state in a database
-
Elasticsearch Java Client (guide): Connect to an Elasticsearch cluster using the Java client
-
Hibernate Validator (guide): Validate object properties (field, getter) and method parameters for your beans (REST, CDI, Jakarta Persistence)
-
OpenID Connect (guide): Verify Bearer access tokens and authenticate users with Authorization Code Flow
-
Logging JSON Jackson (guide): Logging in JSON with support for custom fields and Elastic Common Schema (ECS)
-
Liquibase (guide): Handle your database schema migrations with Liquibase
Configure your application with YAML
The Quarkus application configuration is located in src/main/resources/application.yml.
Create your first JPA entity
Create your first LGTM Observability application
Use Quarkus Messaging