Search code examples
openapiapache-tomeemicroprofile

TomEE Microprofile OpenAPI in Plume


I wrote a simple JAX-RS REST service (which is working as expected) and I'm trying to generate the OpenAPI documentation using microprofile. Therefore I added the following dependency to my pom.xml:

<dependency>
            <groupId>org.eclipse.microprofile.openapi</groupId>
            <artifactId>microprofile-openapi-api</artifactId>
            <version>2.0</version>
</dependency>

When I deploy the application on TomEE 9.0.0 M7 Microprofil everything works as expected and the OpenAPI schema is reachable under http://localhost:8080/openapi. But when I deploy the same artifact to TomEE 9.0.0. M7 Plume/Webprofile/Plus the schema / endpoint is not available. What am I missing here? Is this a configuration issue? According to https://www.tomitribe.com/blog/tomee-webprofile-vs-tomee-microprofile-vs-tomee-vs-tomee-plume/ MicroProfile should be part of the other distributions of TomEE too...

Thanks a lot!


Solution

  • Yes! MP implementation is available on the others TOMEE Profiles, but you will need to add a flag.

    -Dtomee.mp.scan=all

    if you are running it trough maven plugin you should put the flag like this.

    <plugin>
      <groupId>org.apache.tomee.maven</groupId>
      <artifactId>tomee-maven-plugin</artifactId>
      <version>${tomee.version}</version>
      <configuration>
        <context>ROOT</context>
        <args>-Dtomee.mp.scan=all</args>
        <tomeeVersion>${tomee.version}</tomeeVersion>
        <tomeeClassifier>plus</tomeeClassifier>
      </configuration>
    </plugin>