spring.schemas and spring.handlers when creating Uber-Jar

When creating an uber-jar with all dependencies in one single-jar file, each of the spring dependency jar may contain schema and handlers that have the same name but different content. When you combine them into creating a single uber-jar, the uber-library will perform an overwrite since each of the Spring files for schema and handlers are the exact filename. So you end up overwriting the file where the last ubered file will remain.

The following shows you how to leverage the Maven-Shade-Plugin in Maven to retain all versions of the file by appending the content into one single file for both spring.handlers and spring.schemas.