【问题标题】:Bundling .dll inside of .jar在 .jar 中捆绑 .dll
【发布时间】:2013-04-09 09:01:40
【问题描述】:

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

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

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

这对吗?

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

【问题讨论】:

    标签: java swing deployment jfilechooser filechooser


    【解决方案1】:

    由于它显然是一个桌面应用程序。一种策略是使用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>                 
    

    【讨论】:

    • 它(单数)?上述 JNLP 建议您应该开始考虑“他们”(复数)。
    猜你喜欢
    • 2010-12-23
    • 2011-07-02
    • 2019-07-24
    • 2012-08-19
    • 2014-06-26
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    相关资源
    最近更新 更多