在.jar中捆绑.dll

时间:2013-04-09 09:01:40

标签: java swing deployment jfilechooser filechooser

我正在使用XFileDialog(https://code.google.com/p/xfiledialog/)而不是JFileChooser,但是我想在.jar中捆绑dll,所以我不必将它们与应用程序一起发送。

所以我将它们添加到项目中,但我不确定如何引用它们。在XFileDialog.class里面,我找到了System.loadLibrary("xfiledialog64");

我想这必须改为System.load("xfiledialog64")

这是对的吗?

另一个问题是我无法从Eclipse内部编辑.class文件。这是否意味着我必须在源代码中编辑.class然后重新编译它?

1 个答案:

答案 0 :(得分:3)

由于它显然是桌面应用程序,因此一种策略是使用Java Web Start启动它。如果使用web start启动,则本机将在正常加载时加载。

以下是JNLP used to load the applet demo.

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
    <information>
        <title>helloapplet</title>
        <vendor>stevpan</vendor>
</information>

    <resources os="Windows" arch="x86">
        <nativelib href="win_x86_dll.jar" />
    </resources>

    <resources os="Windows" arch="amd64">
        <nativelib href="win_x64_dll.jar" />
    </resources>

    <resources>
        <!-- Application Resources -->
        <j2se version="1.6+"
              href="http://java.sun.com/products/autodl/j2se" />
        <jar href="hello.jar" main="true" />
    </resources>

    <applet-desc 
         name="helloapplet"
         main-class="helloapplet"
         width="640"
         height="480">
     </applet-desc>
     <update check="background"/>
</jnlp>