Кажется, это удивительный ответ:
Для каждой реализации Xalan используйте отдельный загрузчик классов и добавьте файл в
META-INF\services\
с именем
javax.xml.transform.TransformerFactory
Отредактируйте его и поместите только содержимое Xalan, которое будет использовать загрузчик классов, например:
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
ПРИМЕЧАНИЕ: Приятно то, что противопоставляет обычное делегирование загрузки классов, META-INF\services
ищется в текущем загрузчике классов сначала , где классы ищут в родительском, затем системном и только затем в дочернем загрузчике классов