See DefaultValidationProviderResolver line 347
changed the way the providers get loaded. Now java.util.ServiceLoader is used.
Turns out ServiceLoader adopts the strategy that if a provider is not loadable, throw an exception (which is really the behavior we had). Just added a test showing this behavior, otherwise we can just close this issue as rejected imo.
We stick to this behavior. No need to define it in the spec though.
Instead of throwing a ValidationException, the correct thing to do is to try the next available provider, otherwise you get into issues like BVAL-343.