I would like to have single component deploy that have common functionality that get used across multiple component so that you have to redeploy only one component and all other component depend on it (either depends on all the jar it uses or classes /services that common component provide) get the new changes automatically and no need to re-deploy each one again.
I think you can do this. Your common Component would export some packages/types and expose services invoked by other Components. Therefore you could deploy a new version of the common component and the others would automatically be using its services through the same LC Client SDK calls to perform Service Invocatiion. It is our design intent that these sort of service-to-service calls are loosely coupled. We actually do that a lot in the components that we ship within the LiveCycle Container, especially for SPI Providers.
Could you offer some light on different tags that would be helpful (like export, import, classpath) inside component.xml?
In ES8.2 there was a way to keep all the common lib under server with some property file that refer each component and their respective
lib files so that in all component.xml you can point common location and all component will share same lib/jar files is this true in ES2?
There is a component xml reference here that might help: http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/sdkHelp/wwhe lp/wwhimpl/js/html/wwhelp.htm
Also if you have already developed a component in the previous verion of LiveCycle ES then it will still work in ES2 and any special tricks you used for locating dependent jars will probably also work too. As far as DSCs go they still operate the same way and I think what you had working before for loading dependent libs ought to still work.