A SDK should not be packed as a fat jar, instead should declare in the pom what transitive dependencies are needed to run the library.
As an example I tried to upgrade the jackson serialization library in my application and that failed due to the classes loaded by the SDK were conflicting with the new version.