Co-Authored By:
Also question is, what is a shaded jar?
A shaded jar aka uber-jar aka fat jar will by default contain every dependency that is required to run the Java application so that no additional dependency is required to be in the classpath. You only need the correct Java version to run your application.
Moreover, what is a thin jar?
Thin JAR. Same as a Thin WAR, except using the JAR packaging format. Typically, this is used by specialized applications/plugin architectures that use the JAR packaging format for its purpose-built plugin or runtime artifacts. For example, the . kjar format from Drools.
What is the maven-shade-plugin used for, and why would you want to relocate Java packages? "This plugin provides the capability to package the artifact in an uber-jar, including its dependencies and to shade - i.e. rename - the packages of some of the dependencies."