I'm really confused how someone would build some micro-services with Maven. I've seen a lot of project using the multi-module strategy
Is that a valid strategy? wouldn't that couple the whole project? because I will need to build the project from root (parent pom.xml)? and everything is related to everything I think
Should I just build everything in their own?
firstapplication
seconddapplication
thirdapplication
Any help is really appreciated.
I'm really lost on how this works
[ parentpom.xml ]
|
|___first-application
| |
| |__ data-layer
| | |__ pom.xml
| |
| |__ services
| | |__ [[ USES message-queue:producer ]]
| | |
| | |__ pom.xml
| |
| |__ domain
| | |__ pom.xml
| |
| |__ application (REST)
| | |__ pom.xml
| |
| |__ pom.xml
|
|___second-application
| |
| |__ data-layer
| | |__ pom.xml
| |
| |__ services
| | |__ pom.xml
| |
| |__ domain
| | |__ pom.xml
| |
| |__ application (REST)
| | |__ pom.xml
| |
| |__ pom.xml
|
|___third-application
| |
| |__ data-layer
| | |__ pom.xml
| |
| |__ services
| | |__ [[ USES message-queue:consumer ]]
| | |
| | |__ pom.xml
| |
| |__ domain
| | |__ pom.xml
| |
| |__ application (REST)
| | |__ pom.xml
| |
| |__ pom.xml
|
|
|___message-queue (as wrapper of kafka/rabbit/etc)
| |
| |__ configuration_of_message_queue
| | |__ pom.xml
| |
| |__ consumer
| | |
| | |__ [[ USES message:queue:configuration ]]
| | |
| | |
| | |__ pom.xml
| |
| |__ producer
| | |
| | |__ [[ USES message:queue:configuration ]]
| | |
| | |
| | |__ pom.xml
| |
| |__ pom.xml
|
|
|___ commonlibrary (some projects use this, some others dont)
|__ pom.xml
<parentpom>
<modules>
<module>first</module>
<module>second</module>
<module>third</module>
<module>message-queue</module>
<module>commonlibrary</module>
</modules>
</parentpom>