Bonjour!
Je développe un programme qui utilise Sigar, j'ai donc besoin d'un dll pour la faire fonctionner. J'aimerais que ce dll soit dans le jar directement et je sais que c'est possible, mais seulement après l'avoir copié hors du jar. J'ai alors pack mon dll dans mon jar et c'est là que je bloque, je n'arrive pas à copier le contenu de mon fichier source dans le nouveau (qui se créé mais qui reste vide)... Par ailleurs je ne sais pas trop sûr de comment faire un fichier temporaire, même après avoir cherché sur le net.
Mon dll s'appelle "sigar-amd64-winnt.dll"
Voici mon code:
J'utilise Apache pour me faciliter la copie. (sans succès XD)
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
17
18
19
20
21
22
23
24
25
26
27 //------------------------------------------------------- //Loading Required Libraries //------------------------------------------------------- public static void loadDLL() throws IOException { try { InputStream in = Main.class.getResourceAsStream("sigar-amd64-winnt.dll"); File fileOut = new File("sigar-amd64-winnt.dll"); OutputStream out = FileUtils.openOutputStream(fileOut); IOUtils.copy(in, out); in.close(); out.close(); System.out.println("Required library successfully loaded!"); } catch (Exception e) { System.out.println("Failed to load required library..."); } //Loading Library try { System.loadLibrary("sigar-amd64-winnt.dll"); } catch (UnsatisfiedLinkError e) { } //------------------------------------------------------- }
J'espère que vous pourrez m'aider.
Partager