Hi Shaheed, Let me clarify few things here, even though you might be already aware.
- Maven dependency versions that you specify in your component's pom.xml for external dependencies should match the dependency that is actually bundled into the distribution via p2 feature management. - You need to make sure that any external dependency version that you "need" is actually bundled by the feature which installs your component. There is absolutely no guarantee that dependencies you define in your component's pom.xml will be available in the run time. - Any external library that you wish to include in Stratos must be an OSGi bundle OR you need to embed those libraries into your component. A component in Carbon world is always an OSGi bundle. - If you are having external dependencies which are installed as OSGi bundles, it is always recommended to have OSGi import definition with required version range in maven-bundle-plugin. If you have correct import statements then you don't need to worry about having multiple jars of the same library with different versions. I can think of 2 ways to resolve your issue; 1. Create an OSGi bundle of libthrift 0.9.3 library and bundle it into your feature (you can use this [1] maven dependency). Checkout [2, 3] for more information about Carbon feature management/installation via pom.xml. 2. This is the simplest solution. Embed libthrift 0.9.3 dependency to your OSGi bundle. Have a look at [4] for more information. This would make the embedded library available to the Java class loader which loads your OSGi bundle (your component). [1] http://mvnrepository.com/artifact/org.apache.servicemix.bundles/org.apache.servicemix.bundles.libthrift/0.9.3_1 [2] https://docs.wso2.com/display/Carbon420/Installing+Features+using+pom+Files [3] http://wso2.com/library/tutorials/2014/03/how-to-create-a-feature-from-wso2-carbon-component/ [4] http://www.sergiolopes.eu/2014/04/adding-jars-to-osgi-bundles-with-maven/ Hope this helps. Thanks.