Utilisation d'un exe dans un jar avec dll
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.
Code:
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;
} |
J'utilise le même principe pour charger la dll, sauf que le nom doit rester malib.dll.
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?