Bonjour,

je développe un plugin Eclipse.

Dans ce plugin, je charge plusieurs DLL qui ont besoin de libxml2.dll (entre autres), que j'ai donc inclue dans un des dossiers de mon plugin.

Est-ce que je peux obliger mon plugin à chercher les DLL dans un dossier particulier avant qu'il ne cherche dans le path ?

En d'autres termes, je tiens à utiliser des DLL qui ne sont pas dans le path (mais incluses dans le projet).

J'ai tenté ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String dirpath = null;
String path;
String os = java.lang.System.getProperty("os.name");
path = FileLocator.getBundleFile(context.getBundle()).getAbsolutePath();
dirpath = path + "\\libotawa\\lib\\";
path = path + "\\libotawa\\lib\\libojawa.dll";
 
try {
    File f=new File(dirpath+"libxml2.dll");
    logInfo(f.getAbsolutePath());
    System.load(dirpath+"libxml2.dll");
    System.load(dirpath+"iconv.dll");
    System.load(dirpath+"zlib1.dll");
    System.load(dirpath+"libexslt.dll");
    System.load(dirpath+"libxslt.dll");
}
Sauf que ça ne fonctionne pas. Le logInfo me renvoie bien le bon path pour ma DLL, mais ça ne semble pas être celle-là qui est chargée.

Je souhaiterais que quand je charge une DLL, si celle-ci a besoin d'un autre DLL, elle soit tout d'abord cherchée dans un dossier particulier, avant de chercher dans le path (bref je voudrais modifier le path dans mon plugin).

Pour l'instant, le seul moyen que j'ai trouvé de faire fonctionner mon plug-in, c'est de mettre les DLL dans le dossier racine d'Eclipse (et pourtant sans avoir touché le code ci-dessus).

Que faire ?

Merci.