我有一个 Jar,它从配置文件中指定的某个路径获取 DLL。 我将该配置文件保存在执行应用程序的位置。 该 DLL 也安装在其他地方。
现在我想要制作我的 Jar,它应包含(类 &)DLL。我不想提供任何路径,因为该配置文件可能不存在。
如何继续此操作?如何制作 jar 以及我需要做什么更改?
最佳答案
如果你的应用程序。有一个 GUI,在应用程序的运行时类路径中包含 native 库的简单方法是使用 Java Web Start来部署它。以下是 JNLP 的资源部分的方式启动文件可能看起来。
<resources >
<j2se version="1.6+"/>
<!-- Supply this resource to all -->
<jar href="ourapp.jar" size="100000" />
</resource>
<!-- Supply this resource to SunOS/sparc only -->
<resources os="SunOS" arch="sparc">
<nativelib href="sunlibs.jar" size="250000" />
</resource>
<!-- Supply this resource to Windows only -->
<resources os="Windows">
<nativelib href="winlibs.jar" size="300000" />
</resource>
JWS 对下载进行分区,Mac 也是如此。任何非 SunOS *nix 都只能获得 100,000 字节的核心 Java。 SunOS 的总下载量为 350,000 字节,Windows 为 400,000 字节。然后,应用程序可以使用以下方式加载 native :
System.loadLibrary("ournative");
之后,应加载 native 并准备好在为其提供 native 的任何操作系统中使用。
部署通过。 JWS 具有许多优势,包括:
- 一种跨平台且便捷的原生部署方式。
- 原生的分区下载。
- 自动更新应用程序资源(类、原生等)
- 通过自动更新避免“DLL Hell”。
关于java - 如何制作包含DLL的Jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7480774/