Charger la bibliothèque partagée par chemin à l'exécution

Je fais construire une application Java qui utilise une bibliothèque partagée écrit en C++ et compilé pour différents systèmes d'exploitation. Le problème, c'est que cette bibliothèque partagée elle-même dépend d'une bibliothèque supplémentaire, il retrouve généralement dans le cadre de la variable d'environnement (PATH, LIBRARY_PATH ou LD_LIBRARY_PATH).

J'ai peut - mais ne voulez pas à définir ces variables d'environnement. Je préfère charger les bibliothèques partagées nécessaires à partir d'un chemin d'accès donné au moment de l'exécution, comme un plugin. Et pas - je ne veux pas de starter application qui démarre un nouveau processus avec un nouvel environnement. Quelqu'un sait comment faire?

Je sais que cela doit être possible, comme l'une des bibliothèques que j'utilise est capable de charger les plugins à partir d'un chemin donné. Bien sûr, je préfère la plate-forme indépendante de code, mais si ce n'est pas possible, séparé des solutions pour Windows, Linux et MacOS serait aussi le faire.

MODIFIER
Je devrais avoir mentionné que la bibliothèque partagée j'avais souhaitez utiliser est orienté objet, ce qui signifie qu'une liaison de fonctions simples ne le fera pas.

source d'informationauteur aRestless | 2011-10-02