This code is extraced from Spring Boot uber jar handling. It should serve as a fundament for other projects creating and using uber jars.
Why do we need a smart über jar, and whats "wrong" with current state.
Here are some references
http://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-first-application.html#getting-started-first-application-executable-jar http://one-jar.sourceforge.net/