RESTEasy Vert.x is a RESTEasy project aimed to provide integration with Eclipse Vert.x.
To read the documentation you can read it online.
To add the dependencies in Maven you can simply add the BOM.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>dev.resteasy.vertx</groupId>
<artifactId>resteasy-vertx-bom</artifactId>
<version>${version.dev.resteasy.vertx}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>Then you can use either the embedded server or client dependencies.
<dependencies>
<dependency>
<groupId>dev.resteasy.vertx</groupId>
<artifactId>resteasy-vertx-client</artifactId>
</dependency>
<dependency>
<groupId>dev.resteasy.vertx</groupId>
<artifactId>resteasy-vertx-embedded-server</artifactId>
</dependency>
</dependencies>Start an embedded server using the standard Jakarta REST SeBootstrap API:
@ApplicationPath("/api")
public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
return Set.of(GreetingResource.class);
}
}
SeBootstrap.Configuration config = SeBootstrap.Configuration.builder()
.host("localhost")
.port(8080)
.build();
SeBootstrap.Instance instance = SeBootstrap.start(MyApplication.class, config)
.toCompletableFuture()
.join();
URI uri = instance.configuration().baseUri();
// Server running at http://localhost:8080/apiCreate a client:
Client client = ClientBuilder.newClient();
String result = client.target("http://localhost:8080/api/greeting")
.request(MediaType.TEXT_PLAIN)
.get(String.class);
client.close();The Vert.x client engine is automatically discovered via ServiceLoader. Both client and server share a single
managed Vertx instance via VertxManager.
Issues are kept in GitHub Issues.
Currently, RESTEasy Vert.x requires JDK 25+ to compile, but compiles to Java 17 bytecode.
If you want to build the project without running the tests, you need to pull down a clone of the RESTEasy repository and run:
$ ./mvnw clean install -DskipTestsReleasing 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. Any next steps should you want to continue the release will need to be manual. |
|
No |
Prints verbose output. |
Any additional arguments are considered arguments for the Maven command.