Heim >Java >javaLernprogramm >Wie kann ich DLLs mit einer JAR-Datei eines Drittanbieters zur Verwendung in einer Java-Anwendung verpacken?
DLLs in JAR-Dateien packen
Sie haben eine JAR-Bibliothek eines Drittanbieters erworben, die zwei entsprechende DLL-Dateien enthält. Ihre Java-Anwendung basiert auf dieser Bibliothek und Sie möchten alle Komponenten (Ihren Code, die JAR von Drittanbietern und DLLs) in einer einzigen, praktischen JAR-Datei zusammenführen.
Verpacken der DLLs
JAR-Dateien funktionieren im Wesentlichen wie ZIP-Archive. Um DLLs in Ihr JAR aufzunehmen, platzieren Sie sie einfach an einer beliebigen Stelle in der JAR-Struktur. Allerdings reicht es nicht aus, die DLLs einfach zu packen. Bevor Sie sie verwenden, müssen Sie sie aus dem JAR extrahieren und an einem bestimmten Ort auf Ihrer Festplatte speichern.
Codebeispiele
Hier ist ein beispielhafter Java-Codeblock demonstriert diesen Prozess:
// Package the DLLs in the JAR file // ... (your code here) // Extract and load the DLLs from the JAR private static void loadFromJar() { // Determine the temporary directory path String path = "AC_" + new Date().getTime(); // Extract the DLLs and load them into memory loadLib(path, "acwrapper"); loadLib(path, "aamapi51"); loadLib(path, "libeay32"); } // Extract and load a specific DLL private static void loadLib(String path, String name) { InputStream in = Foo.class.getResourceAsStream("/lib-bin/" + name + ".dll"); File fileOut = new File(System.getProperty("java.io.tmpdir") + "/" + path + "/lib-bin/" + name + ".dll"); OutputStream out = FileUtils.openOutputStream(fileOut); IOUtils.copy(in, out); in.close(); out.close(); System.load(fileOut.toString()); }
In diesem Code werden die DLLs in das durch „Pfad“ angegebene temporäre Verzeichnis extrahiert und dann mit in den Speicher geladen System.load(). Beachten Sie, dass Sie möglicherweise die genauen Dateipfade und Ressourcenpfade basierend auf Ihrer spezifischen JAR-Struktur und DLL-Speicherorte anpassen müssen.
Das obige ist der detaillierte Inhalt vonWie kann ich DLLs mit einer JAR-Datei eines Drittanbieters zur Verwendung in einer Java-Anwendung verpacken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!