Я создаю приложение Java, которое использует общую библиотеку, написанную на С++ и скомпилированную для разных операционных систем. Проблема в том, что эта общая библиотека сама зависит от дополнительной библиотеки, которую она обычно находит под соответствующей переменной среды (PATH, LIBRARY_PATH или LD_LIBRARY_PATH).
Я могу - но не хочу - устанавливать эти переменные среды. Я бы предпочел загружать необходимые общие библиотеки из заданного пути во время выполнения - точно так же, как плагин. И нет - я не хочу, чтобы какое-либо стартовое приложение запускало новый процесс с новой средой. Кто-нибудь знает, как достичь этого?
Я знаю, что это должно быть возможно, поскольку одна из библиотек, которые я использую, способна загружать свои плагины из заданного пути. Конечно, я бы предпочел независимый от платформы код, но, если это невозможно, будут также выполняться отдельные решения для Windows, Linux и MacOS.
ИЗМЕНИТЬ Я должен был упомянуть, что разделяемая библиотека, которую я хотел бы использовать, является объектно-ориентированной, что означает, что привязка отдельных функций не будет делать этого.