Bonjour,
J'utilise dans mon programme un exécutable qui à besoin d'une dll pour fonctionner.
L'exécutable sera intégré dans le jar de mon applu ainsi que la dll.
Donc comme expliqué sur pas mal de post du forum, on ne peut pas utiliser un exe dans un jar il faut en faire une copie temporaire à un emplacement sur l'ordi et l'utiliser.
Ce que je fais comme ceci.
J'utilise le même principe pour charger la dll, sauf que le nom doit rester malib.dll.
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 public static final File openInternalFile(final String _resourcePath) throws IOException { // Creation du fichier temporaire final File file = File.createTempFile("myprog", ".tmp"); file.deleteOnExit(); // Recuperation du flux de la ressource final InputStream is = ResourceManager.class.getResourceAsStream(_resourcePath); if (is == null) { return null; } // Ecriture dans le fichier tmp StreamUtils.streamToFile(is, file); return file; }
Tout fonctionne, mais je me demande si il n'existe pas un moyen de ne pas charger séparément l'exécutable et la dll.
L’exécutable m'est fourni par une ressource extérieure mais la compilation statique me semble être la meilleure option.
Si il m'est impossible de récupérer un exe compilé en -static y a-t-il une solution alternative?
Partager