The RESTEasy MicroProfile project contains implementations and utilities for the Eclipse MicroProfile.
Full reference documentation is available in the docs directory and will be published at docs.resteasy.dev/resteasy-microprofile.
To build the documentation locally:
./mvnw clean javadoc:aggregate -Pcentral-release ./mvnw process-resources -pl docs
The generated HTML and PDF will be in docs/target/generated-docs/. The Javadocs will be generated in the
arget/reports/apidocs directory.
Building requires Maven and Java 25.
./mvnw clean install
The simplest way to use these dependencies is to import the BOM.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>resteasy-microprofile-bom</artifactId>
<version>${version.org.jboss.resteasy.microprofile}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>This is an implementation of the MicroProfile REST Client.
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>microprofile-rest-client</artifactId>
</dependency>This uses the MicroProfile Config to define some ConfigSource options.
The current sources for finding properties are:
-
ServletConfig -
FilterConfig -
ServletContext
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>microprofile-config</artifactId>
</dependency>This adds a context provider for RESTEasy which works with MicroProfile Context Propagation.
<dependency>
<groupId>org.jboss.resteasy.microprofile</groupId>
<artifactId>microprofile-context-propagation</artifactId>
</dependency>The MicroProfile REST Client implementation and MicroProfile Config sources are already provided in WildFly. If you’d like to upgrade or add all the modules to a provisioned WildFly server, you can use the Galleon tooling to do so.
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<provisioning-dir>${jboss.home}</provisioning-dir>
<galleon-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
<jboss-maven-dist/>
</galleon-options>
<feature-packs>
<feature-pack>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-galleon-pack</artifactId>
</feature-pack>
</feature-packs>
<channels>
<channel>
<manifest>
<groupId>org.wildfly</groupId>
<artifactId>wildfly</artifactId>
</manifest>
</channel>
<channel>
<manifest>
<groupId>org.jboss.channels</groupId>
<artifactId>resteasy-microprofile-3.0</artifactId>
</manifest>
</channel>
</channels>
<layers>
<layer>cdi</layer>
<layer>jaxrs-server</layer>
<layer>microprofile-config</layer>
</layers>
</configuration>
<executions>
<execution>
<id>server-provisioning</id>
<goals>
<goal>provision</goal>
</goals>
</execution>
</executions>
</plugin>Releasing the project requires permission to deploy to Maven Central see Maven Central Release Requirements.
Once everything is setup, you simply need to run the ./release.sh script. There are two required parameters:
-
-ror--releasewhich is the version you want to release -
-dor--developmentwhich is the next development version.
By default the release version cannot contain SNAPSHOT and the development version, must container SNAPSHOT.
.Example Command| Argument | Requires Value | Description |
|---|---|---|
|
Yes |
The next version for the development cycle. |
|
No |
Forces to allow a SNAPSHOT suffix in release version and not require one for the development version. |
|
N/A |
Displays this help |
|
Unused |
Passes the |
|
Unused |
Passes the |
|
Yes |
The version to be released. Also used for the tag. |
|
No |
Executes the release in as a dry-run. Nothing will be updated or pushed. |
|
No |
Executes the release in, but doesn’t actually push the changes to GitHub or publish the release on Maven Central. |
|
No |
Prints verbose output. |
Any additional arguments are considered arguments for the Maven command.