Maison > Java > javaDidacticiel > Comment regrouper des DLL avec du code Java dans un seul fichier JAR ?

Comment regrouper des DLL avec du code Java dans un seul fichier JAR ?

Patricia Arquette
Libérer: 2024-11-27 14:01:10
original
957 Les gens l'ont consulté

How to Package DLLs with Java Code into a Single JAR File?

Emballage de fichiers JAR avec des inclusions de DLL

Question : Comment pouvez-vous créer un seul fichier JAR qui intègre votre code, un JAR tiers , et les fichiers DLL qui l'accompagnent ?

Réponse :Pour emballer le Fichiers DLL avec votre JAR, suivez ces étapes :

  1. Incluez les fichiers DLL : Placez les fichiers DLL n'importe où dans le JAR.
  2. Extraire avant utiliser : Avant d'accéder aux DLL, extrayez-les du JAR et stockez-les sur le disque disque.

Exemple de code :

Le code Java fourni illustre une méthode pour charger des DLL à partir d'un JAR en mémoire :

public class Foo {

    static {
        System.loadLibrary(ACWRAPPER);
    }

    private static void loadFromJar() {
        // Extract DLLs to a temporary location
        String path = "AC_" + new Date().getTime();
        loadLib(path, ACWRAPPER);
        loadLib(path, AAMAPI);
        loadLib(path, LIBEAU);
    }

    private static void loadLib(String path, String name) {
        name = name + ".dll";
        try {
            InputStream in = ACWrapper.class.getResourceAsStream(LIB_BIN + name);
            File fileOut = new File(System.getProperty("java.io.tmpdir") + "/" + path + LIB_BIN + name);
            OutputStream out = FileUtils.openOutputStream(fileOut);
            IOUtils.copy(in, out);
            System.load(fileOut.toString());
        } catch (Exception e) {
            throw new ACCoreException("Failed to load required DLL", e);
        }
    }
}
Copier après la connexion

Remarques :

  • Il est crucial d'extraire les DLL avant utilisation, car vous ne pouvez pas les charger directement à partir du JAR.
  • Le conditionnement des DLL dans un JAR est similaire au conditionnement de tout autre type de fichier.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal