Thanks for the good info, however, I still get many exceptions with a spring dependency I’m using. I’ve seen other forms use the maven-jar-plugin and/or the maven-shade-plugin. Do you need more than just the assembly plugin?
Thanks for the clearly written article. I wonder if you have ever had to deal with a problem where common top-level resources like log4j.properties would be overwritten by the various other jars that contain it? If so, how did you cope with that?
In the end I just changed my main to pick up an explicitly named properties file in an non-standard directory, instead of expecting my log4j.properties file to be picked out of the classpath in preference to other identically-named files.