This stackoverflow question on MicroProfile support in Quarkus pointed out the need for a one-pager cheat-sheet on Quarkus MicroProfile support.
MicroProfile is a collection of specifications. SmallRye is a project that implements MicroProfile specifications. Generally speaking, there is a SmallRye GitHub repo in support of each specification. Quarkus implements MicroProfile specifications using SmallRye’s implementations, which is the reason behind “smallrye” in some of the maven artifact names. Quarkus is still Beta as of this writing, so there may still be some compatibility issues.
As an example, you can run the following to add maven dependencies to your project’s pom.xml using the provided maven GAV (minus the version) in the table. The list is comma-separated.
mvn quarkus:add-extension -Dextensions="io.quarkus:quarkus-smallrye-metrics,io.quarkus:quarkus-smallrye-health"
Here is a quick mapping:
MicroProfile Specification
|
Quarkus Dependency (Maven group:artifact)
|
Developer Guide
|
CDI
|
io.quarkus:quarkus-arc
|
|
JAX-RS
|
io.quarkus:quarkus-resteasy
|
|
JSON-P
|
io.quarkus:quarkus-jsonp
|
|
JSON-B
|
io.quarkus:quarkus-jsonb
|
|
Config
|
N/A. Included by default
|
|
Rest Client
|
io.quarkus:quarkus-smallrye-rest-client
|
|
Fault Tolerance
|
io.quarkus:quarkus-smallrye-fault-tolerance
|
|
Health Check
|
io.quarkus:quarkus-smallrye-health
|
|
Metrics
|
io.quarkus:quarkus-smallrye-metrics
|
|
JWT Security
|
io.quarkus:quarkus-smallrye-jwt
|
|
OpenAPI
|
io.quarkus:quarkus-smallrye-openapi
|
|
OpenTracing
|
io.quarkus:quarkus-smallrye-opentracing
|
|
Reactive Streams Operators
|
io.quarkus:quarkus-smallrye-reactive-streams-operators
|
|
Reactive Messaging (Draft)
|
io.quarkus:quarkus-smallrye-reactive-messaging
|