"Oddly enough, many orders do not cause assembly errors, but only the runtime of the error."
This is not strange. As you wrote, classes are present in different versions, which does not necessarily mean a compilation error, but means different behavior and different sub dependencies.
Avoid "random" or "automatic ordering." I would advise you to use Maven to handle your dependencies (to know exactly which library depends on which). You will probably find that many of the libraries that you include are not required, and that the dependency management tool will automatically handle all dependencies between dependencies for you, you should, however, add / force an exception for specific versions of the libraries.
Significantly more, this will help you simplify the code and, in the end, remove one line of code and 40 dependencies ... (relying on a third-party structure using such Spring or any other).
source share