当前的任务涉及创建一个包含您的代码、第三方 JAR 文件及其随附的 DLL 依赖项的 JAR 文件。这个问题引起了人们的关注,特别是以 SWT 库为例。
解决方案在于将所有内容打包在 JAR 文件中。然而,存在一个重要的警告:在使用 DLL 之前,您必须从 JAR 中提取它们并将它们存储在硬盘上。如果不这样做,您将无法访问它们。
进一步澄清一下,将 DLL 或其他文件打包到 JAR 中时,该过程类似于创建 ZIP 存档。只需在 JAR 结构中包含必要的文件即可。
作为示例,请考虑以下 Java 代码片段:
// ... static { logger.info("Loading DLL"); try { System.loadLibrary(ACWRAPPER); logger.info("DLL is loaded from memory"); } catch (UnsatisfiedLinkError e) { loadFromJar(); } } private static void loadFromJar() { // we need to put both DLLs to temp dir String path = "AC_" + new Date().getTime(); loadLib(path, ACWRAPPER); loadLib(path, AAMAPI); loadLib(path, LIBEAU); } private static void loadLib(String path, String name) { // ... } // ...
此代码演示了从 JAR 中提取 DLL,并将其放置在临时目录,然后加载到内存中。通过了解此过程,您可以有效地创建包含所有必要组件(包括 DLL 依赖项)的 JAR 文件。
以上是如何将 DLL 依赖项与 Java 代码打包到单个 JAR 文件中?的详细内容。更多信息请关注PHP中文网其他相关文章!