Red Hat Quarkus is supersonic, subatomic Java framework for creating cloud native apps and services using JEE specification. It supports full project lifecycle using its own maven dependency management and build plugin.
Red Hat Quarkus provides its own maven support to package the code and it’s all dependency as Uber jar including the container itself. For this, you need to add following build plugin and application configuration ( till the time a maven property is available )
<build>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.version}</version>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
application.properties
quarkus.package.uber-jar=true
Red Hat Quarkus provide multiple embeddable container that can be that can be used dependency. JAX-RS support is provided by resteasy container.
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
Red Hat Quarkus container can be launched using multiple options
mvn quarkus:dev
java -jar java -jar target\microservice-starter-quarkus-1.0.0-runner.jar