Shading or package renaming a.k.a class relocation is a process of creating an uber-jar which contains its dependencies and package names of some of the dependencies are renamed. In this blog post I will provide instructions how to create an Elasticsearch jar file with shaded dependencies to save you from the perils of Jar Hell.