Heim  >  Artikel  >  Java  >  Wie packe ich DLLs mit Java-Code in eine einzige JAR-Datei?

Wie packe ich DLLs mit Java-Code in eine einzige JAR-Datei?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-27 14:01:10912Durchsuche

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

JAR-Dateien mit DLL-Einschlüssen verpacken

Frage: Wie können Sie eine einzelne JAR-Datei erstellen, die Ihren Code, ein JAR eines Drittanbieters, enthält? , und die dazugehörigen DLL-Dateien?

Antwort: Um die zu verpacken Um DLL-Dateien mit Ihrem JAR zu speichern, befolgen Sie diese Schritte:

  1. Fügen Sie die DLL-Dateien ein: Platzieren Sie die DLL-Dateien an einer beliebigen Stelle im JAR.
  2. Vorher extrahieren Verwendung: Bevor Sie auf die DLLs zugreifen, extrahieren Sie diese aus dem JAR und speichern Sie sie auf der Festplatte Festplatte.

Beispielcode:

Der bereitgestellte Java-Code demonstriert eine Methode zum Laden von DLLs aus einem JAR in den Speicher:

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);
        }
    }
}

Hinweise:

  • Es ist wichtig, die DLLs zu extrahieren vor der Verwendung, da Sie sie nicht direkt aus dem JAR laden können.
  • Das Packen von DLLs in ein JAR ähnelt dem Packen jedes anderen Dateityps.

Das obige ist der detaillierte Inhalt vonWie packe ich DLLs mit Java-Code in eine einzige JAR-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn