Exemple : J'ai deux objets partagés (même chose devrait s'appliquer aux .dlls). Le premier objet partagé provient d'une bibliothèque tierce, nous l'appellerons libA.so. J'ai enveloppé une partie de cela avec JNI et créé ma propre bibliothèque, libB.so. Maintenant, libB dépend de libA.
Lorsqu'il démarre via le web, les deux bibliothèques sont placées dans un espace de travail webstart. Mon code java tente de charger libB. À ce stade, le chargeur du système tentera de charger libA qui n'est pas dans le chemin de bibliothèque du système (java.library.path n'aidera pas cela). Le résultat final est que libB a un lien insatisfait et ne peut pas être utilisé.
J'ai essayé de charger libA avant libB, mais cela ne fonctionne toujours pas. Il semble que le système d'exploitation veuille effectuer ce chargement pour moi. Y a-t-il un moyen de faire fonctionner cela autrement que par une compilation statique ?