I have a solution with multiple applications (different but closely related micro-services) that share common and fairly complex code. The project uses Maven and is currently setup as:
- Root pom
- Quarkus application 1
- Quarkus application 2
- Shared library
My problem is that I would like to use development mode to pick up changes, and I can't get that to work. With a single Quarkus application it is supported and it is possible to build with quarkus:dev from the root folder. With two Quarkus applications it is not clear which one that is started.
I can use the -pl option for Maven to select the one I want to start, but then it doesn't find the shared library (as the build is done from the selected project rather than the root). To fix that I can install the shared library first (mvn install), but then Quarkus will naturally use the installed version and I want to use the live code so that changes in the shared library are picked up.
If this is not possible I will keep the model in one application and use it "installed" from the other; that way live-coding should at least work in one of the applications. Before I do that I wonder if there is a way to accomplish what I want with multiple Quarkus applications where a specific application is started in development mode from a top-level Maven build?