Bonjour à tous !
C'est mon premier message ici et j'espère y trouver quelque aide.
J'essaye de mettre deux DLLs dans un JAR : sigar-amd64-winnt.dll et sigar-x86-winnt.dll
C'est un projet Maven dont l'objectif est de de s'intégrer en tant qu'applet dans un projet beaucoup plus gros, il faut donc que les librairies soit contenues et extraites du jar lui même.
Les DLLs sont à la racine du jar (comme c'est expliqué ici : http://stackoverflow.com/a/4691879/4261971), elle sont extraites vers le dossier temporaire de Java. J'utilise un
System.setProperty("java.library.path", System.getProperty("java.library.path") + MyLibDirectory)
pour référencer les librairies dans le java.library.path et ça marche ! Je peux la voir en appelant
System.getProperty("java.library.path")
MAIS il y a toujours une erreur :
1 2
| no sigar-x86-winnt.dll in java.library.path
at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172) etc... |
La fonction simplifiée qui appelle la librairie en question :
1 2 3 4 5 6 7 8
| public String getfileVersion(String fileDir) {
String version = "";
if ((!fileDir.isEmpty()) && (!"".equals(fileDir))) {
FileVersion info = Win32.getFileVersion(fileDir);
version = info.getFileVersion();
}
return version;
} |
Pour information, l'objectif final de cet applet est d'inspecter un poste utilisateur afin d'établir un bilan complet de son PC.
La partie de Maven pour l'inclusion des librairies :
1 2 3 4 5 6 7 8 9 10
| <build>
<resources>
<resource>
<directory>libs</directory>
<includes>
<include>sigar-amd64-winnt.dll</include>
<include>sigar-x86-winnt.dll</include>
</includes>
</resource>
</resources> |
Cela fait maintenant trois jours que je m’emmêle la dedans alors toute aide est la bienvenue !
Si vous avez besoin de plus d'infos, demandez 
Merci d'avance !
Partager