A fat jar is very bad practice and an abuse of Java functionality that additionally cannot work in some situations and can very easily be done worngly, breaking stuff.