This is old topic, but there was a solution for JAR conflicts, but it works only till JAVA 8. You could move your conflicting JARs into two separate folders, and then mention them in the correct order in "java.endorsed.dirs" property. This will force your app to pre-load the endorsed JARs and its classes in the specified order, forcing desired classes to be used later when called. I did it for my app which ran on JBoss and had 2 JARs with exactly same class and package. The complexity was that I ended up endorsing 23 JARs instead of 2, as there were dependencies, but finally the workaround worked - real issue was fixed. Unfortunately support of java.endorsed.dirs was removed starting from Java8. If anyone have an idea how to do similar trick for latest Java, please, share.