Использование Xalan в плагине Eclipse - PullRequest
0 голосов
/ 14 января 2011

У меня проблемы с использованием xalan в плагине Eclipse.
Когда я пытаюсь создать фабричный экземпляр:

TransformerFactory tFactory = TransformerFactory.newInstance("org.apache.xalan.processor.TransformerFactoryImpl", null);

Я получаю сообщение об ошибке:

javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
...

У меня естьСледующие библиотеки в classpath плагина: xml-apis.jar, xercesImpl.jar, serializer.jar, xalan.jar

Я даже не могу создать экземпляр класса с помощью:

c = Class.forName("org.apache.xalan.processor.TransformerFactoryImpl");
Object o = c.newInstance();

ВозвращаетClassNotFoundException

Но я могу создавать экземпляры других классов из того же фляги и без проблем запускать тот же код вне затмения.

Есть идеи?

Редактировать: Класс создания экземпляра TransformerFactory (скажем, "class1") является частью внешней библиотеки, добавленной в путь к классам плагина, когда xalan.jar также являетсяв плагине classpath.Если я перенесу этот «class1» в плагин, он найдет провайдера и работает нормально.

1 Ответ

1 голос
/ 14 января 2011

Хотя я видел эту проблему однажды, но я не очень уверен, как я решил ее.

Если вы используете JDK 1.5 или выше, попробуйте удалить xml-apis.jar. Это было необходимо для Java 1.4 для поддержки XML.

Обновление 1


Хорошо. Из вашего вопроса я сделал вывод, что вы пишете плагин Eclipse. Если да, то вы добавили вышеупомянутые банки, используя plugin.xml->Runtime->classpath? Если нет, попробуйте сделать это. Плагин Eclipse рассматривает только свои записи времени выполнения-> classpath

Обновление 2


Для меня это все еще кажется проблемой разрешения пути к классам. Хотя трудно сказать, почему это происходит. Для проверки вы также можете проверить, изменив порядок включенных банок в plugin.xml->Runtime->classpath.

Надеюсь, это поможет.

PS: Поскольку вы работаете над разработкой плагинов Eclipse, поэтому я бы посоветовал вам пройтись по этой статье Eclipse - рассказ о двух виртуальных машинах и множестве загрузчиков классов

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