игнорировать библиотеки расширений Java при загрузке класса

Моя проблема в том, что для программы, которую я сейчас пишу (ExcelProcessor), я использую библиотеку (Apache-POI), которой нужны библиотеки XML-Beans, содержащие класс XMLOptions. Проблема в том, что есть другая библиотека (XBean), которая устарела и находится в каталоге расширений (JRE/ext), которая предоставляет тот же класс с той разницей, что там нужный метод был назван по-другому... (исправленная опечатка -. -).(Ссылка на проблему:Ошибка выполнения в java с POI apache ) Итак, поскольку я не должен изменять содержимое каталога расширений, что нужно сделать, чтобы приложение снова запускалось?

Зависимости:

  • MyApp требуется Apache POI
  • Apache POI нуждается в XMLBeans
  • XMLBeans и XBean содержат другую версию org.apache.xmlbeans.XmlOptions.
  • XBean является частью каталога расширений java.

Дальнейшая информация:

  • результирующее приложение должно быть исполняемым jar -> командная строка недоступна (для обычного пользователя)
  • также результирующее приложение должно быть пакетом osgi(equinox), что означает, что оно предоставляет услугу, которая делает процессор excel доступным для графического интерфейса. (как реализовать, что не является содержанием моего вопроса)

Итак, есть ли какие-либо решения, касающиеся загрузки классов, которые работают из обычного исполняемого jar-файла, а также из-за загрузки платформой osgi?

ценить каждый ответ... желательно ничего вроде "это невозможно" (если это так, есть ли обходные пути?)

рапус95


person rapus95    schedule 14.08.2014    source источник
comment
Более новые версии XMLBeans должны быть обратно совместимы с классами, сгенерированными в старых, поэтому обновление версии в JRE/ext должно это исправить. Можете ли вы попробовать это/объяснить, почему это не сработает?   -  person Gagravarr    schedule 14.08.2014
comment
проблема в том, что у меня нет разрешения (тема: ИТ-служба) на изменение настроек java vm/extensions, так как это бизнес-компьютер:/ Тем не менее я собираюсь проверить/спросить, может ли кто-нибудь это сделать... ты   -  person rapus95    schedule 15.08.2014