Моя проблема в том, что для программы, которую я сейчас пишу (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