如何制作包含DLL的Jar?

时间:2011-09-20 06:00:58

标签: java deployment dll jar native

我有一个Jar从配置文件中指定的某个路径获取DLL。 我将该配置文件保存在我执行应用程序的位置。 该DLL也安装在其他地方。

现在我想让我的Jar应该包含(类& )DLL。我不想提供任何路径,因为该配置文件可能不存在。

如何处理?如何制作jar以及我需要做哪些更改?

1 个答案:

答案 0 :(得分:2)

如果您的应用。有一个GUI,在应用程序的运行时类路径上包含本机库的简单方法是使用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字节。然后,应用程序可以使用以下内容加载本机:

System.loadLibrary("ournative");

之后,应该加载本机并准备好在任何提供本机的操作系统中使用。

通过部署。 JWS有许多优点,包括:

  • 一种跨平台且便捷的本地部署方式。
  • 分区下载本地人。
  • 自动更新应用程序资源(类,本机等)。
  • 通过自动更新避免“DLL Hell”。