Использование XSLT из плагина IBM Content Navigator

У меня есть плагин для IBM Content Navigator, где пользователь отправляет запрос на сервер, а затем сервер применяет XSLT-преобразование к XML-файлу, хранящемуся в FileNet.

Я также использую этот код в автономном приложении Java, чтобы администратор мог также применять XSLT без использования интерфейса ICN.

Я пытаюсь поместить XSLT в свой файл Jar плагина и читаю, используя:

InputStream xslt = java.lang.ClassLoader.getSystemResourceAsStream("removeStamp.xslt");
Transformer transformer = factory.newTransformer(new StreamSource( xslt));

Это работает для отдельного приложения Java, но не для плагина ICN.

Как я могу использовать XSLT из jar плагина IBM Content Navigator?

1 ответ

Решение

Я полагаю, что это происходит из-за того, что ресурс не найден, обычно вы можете найти ресурс:

Если в том же пакете

InputStream is = <your class name>.class.getResourceAsStream("removeStamp.xslt");

То, как вы ищете, заставляет его искать файл в корне пути к классам. чтобы вы могли использовать

InputStream is = ClassLoader.getSystemClassLoader(). GetResourceAsStream("com/domain/appname/removeStamp.xslt");

Ядерная опция заключается в добавлении файла в корневой каталог пути к классам виртуальных машин (что не очень хорошо, но работает)

Другие вопросы по тегам