(...) К сожалению, в каждом из этих файлов есть разные версии класса, поэтому я вижу ошибки времени выполнения в зависимости от порядка их загрузки.
Теоретически, xml-apis.jar
и xmlParserAPIs.jar
(из xerces2-j) - это одинаковые JAR , но с разными именами, xmlParserAPIs.jar
не рекомендуется в течение многих лет (см. это сообщение и этот ).
Если ваши зависимости зависят от разных и несовместимых версий xml-apis.jar
, я бы сказал, что эти зависимости взаимоисключающие, другими словами несовместимые, по крайней мере, для версий, которые выс помощью.Единственным решением было бы найти версии со сходящейся зависимостью.
Если они могут использовать совместимые версии, используйте зависимость exclusion , для xmlParserAPIs.jar
используйте только xml-api.jar
.
Я не уверен, что это как-то повлияет на решение проблемы, но это происходит только в тестировании, потому что одна из зависимостей находится в области тестирования.
Нетэто просто объясняет, почему вы не получаете проблемы во время выполнения (потому что область действия test
не находится на пути к классам и, очевидно, не конфликтует).