Какой процессор использует javax.xml.transform? - PullRequest
1 голос
/ 15 апреля 2010

Я внедрил простое веб-приложение, которое преобразует XML на основе таблицы стилей XSTL. Он отлично работает на всех серверах Windows, на которых я его развернул (в Tomcat), но на всех системах Linux я получаю ошибку компиляции на XSLT.

Как я могу сказать, это потому, что Java 1.6 не использует тот же процессор, что и javax.xml.transform. В одной системе Linux это org.apache.xalan.xslt, версия 2.4.

Что я не могу понять, так это как в общих чертах выяснить, что какая-либо система использует за javax.xml.transform.

Или, если у кого-нибудь есть какие-то намеки на то, что еще я мог бы сделать, чтобы выяснить проблему, это тоже было бы хорошо.

1 Ответ

0 голосов
/ 15 апреля 2010

Поскольку jdk1.4, сама Java поставляется вместе с реализацией XML API. Который будет использоваться, если вы специально не подтвердите и не дадите команду jvm использовать «Xalan» или любую другую реализацию XML API.

Я предполагаю, что в вашей системе Linux вы устанавливаете jdk-файлы либо в виде jar-файлов Xalan и xml-api в папке jre / lib / endorsed, либо когда вы запускаете свой сервер, вы передаете аргумент vm -Djava.endorsed.dirs. .. к пути, где существует ксалан Или в своем веб-приложении вы переключили порядок загрузки классов, чтобы сначала посмотреть на локальные классы, и Xalan находится в пути к классу вашего веб-приложения.

Вы можете переопределить реализацию XML, заданную по умолчанию jre, используя один из подходов, и, скорее всего, один из них верен для вашей среды linux.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...