Мне нужны две реализации TransformerFactory для моего программного обеспечения. Я должен обработать xml и xls/fo (форматирующий объект) для PDF-файлов. Для более новых версий нашего программного обеспечения, где я хочу использовать пользовательские функции xsl, я использую net.sf.saxon.TransformerFactoryImpl, который напрямую ссылается на исходный код. Из-за старых данных в базе данных необходимо обработать старые с помощью org.apache.xalan.processor.TransformerFactoryImpl, saxon выкинул бы ошибку и не отобразил PDF.Установить javax.xml.transform.TransformerFactory в Wildfly 8.1
При использовании Tomcat я просто установил «-Djavax.xml.transform.TransformerFactory = org.apache.xalan.processor.TransformerFactoryImpl» как аргумент vm, и это не было проблемой.
При использовании установки Vm аргумент вызывает wildfly забросить следующее исключение Wildfly: «Исключение в потоке„основной“javax.xml.transform.TransformerFactoryConfigurationError: Провайдер не org.apache.xalan.processor.TransformerFactoryImpl найден»
Xalan.jar содержится в моем файле войны. Специальная версия xalan для jboss является частью дистрибутива Wildlfy.
Почему их никто не нашел? Почему Wildfly даже пытается загрузить завод при запуске сервиса wildfly? Как настроить Wildfly для поиска фабрики трансформаторов xalan во время запуска? Запись ввода модуля в файл standalone.xml или domain.xml не помогает.
Я знаю, что в Wildfly есть ошибка, говорящая, что перенаправление фабрики трансформатора не указывает на фабрику трансформаторов Wildfly, а на значение по умолчанию java. Я думаю, что это не должно влиять на мою проблему, потому что я пытаюсь установить другое значение по умолчанию.
Любая помощь?
спасибо. Я дам ему попробовать. –
Это решение специально не работает, так как система WildFly и JBoss Modules обрабатывает JAXP. Погрузчик контекстного класса потока должен использоваться для поиска поставщика; по какой-то причине это не так или работает некорректно. –