使用 DLL 依赖项打包第三方 JAR 文件
问:我有一个 Java 库,需要两个 DLL 文件和我自己的 Java 程序使用这个库。如何将所有组件组合到一个包含我的代码、第三方 JAR 和 DLL 的 JAR 文件中?
A:要创建包含 DLL 依赖项的 JAR 文件:
在打包领域,DLL 和其他文件的处理方式与 ZIP 存档中的文件类似。您可以使用以下 Java 代码从 JAR 中提取 DLL:
import java.io.*; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class ExtractDLLs { public static void main(String[] args) { String jarPath = "path/to/my.jar"; String outputDirectory = "path/to/output"; try (ZipFile jarFile = new ZipFile(jarPath)) { Enumeration<? extends ZipEntry> entries = jarFile.entries(); while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); if (entry.isDirectory()) { continue; } if (entry.getName().endsWith(".dll")) { InputStream in = jarFile.getInputStream(entry); OutputStream out = new FileOutputStream(new File(outputDirectory, entry.getName())); byte[] buffer = new byte[1024]; int len; while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } in.close(); out.close(); } } } catch (IOException e) { e.printStackTrace(); } } }
请记住,将 DLL 或其他文件打包到 JAR 中就像将文件打包到 ZIP 存档中一样简单。提供的代码演示利用 ZIP 文件结构从 JAR 中提取 DLL。
以上是如何将带有第三方 JAR 文件和 DLL 依赖项的 Java 应用程序打包到单个 JAR 中?的详细内容。更多信息请关注PHP中文网其他相关文章!