title: Splitting big app into smaller modules - maven
body: <p>We are splitting our mammoth project into smaller modules. </p>
  
  <p>Eg: A, B modules in one app and we want to make them independent, compile independently. There are many inter-references. </p>
  
  <p>What's the best way to split dependencies? 
  We are looking to currently write an interface and expose it as service for each. AImpl (some classes which need to called by B) and then B uses it by class.forName and typecasts to AImpl. During the runtime, it works.</p>
  
  <p>It needs a lot of rework. Is this right approach?</p>
  
  <p>Thanks.</p>