
Using OSGi container, you can manage cross dependencies between all these modules and deploy this is also without restarting the server.
If you application is OSGi compliant, you should be able to run your application in any of the below open source OSGi container :
1) Apache Felix
2) Equinox
3) Knopflerfish
For Liferay 7, We are going to user Apache Felix across all the implementation.