可执行jar文件不会通过双击加载dll但它会运行

时间:2013-08-10 19:50:42

标签: java dll java-native-interface netbeans-7 executable-jar

我构建了一个可执行jar文件(test.jar),它取决于一些jar库和dll。

一开始它显示一个JFileChooser对话框,用户必须选择一个文件。之后,它调用一个方法并使用jar / dll库读取所选文件。在进动结束时它显示输出对话框。(使用JOptionPane) 最后创建一个意味着完成的对话框!

它成功运行netbeans,使用JNI没有任何问题。我也可以创建一个批处理文件(test.bat)并运行jar文件。没关系。

但是,当我双击可执行jar文件时,显示fileChooser并在选择文件后没有任何反应。 通过这种方式它显示最终对话! 我把我的文件喜欢这个:

NewFolder

 test.jar
 test.bat
 lib0.dll
 lib1.dll
 lib

   lib2.jar
   lib3.jar

有什么问题?请帮帮我。是我的问题与加载DLL文件及其路径有关? 我的问题似乎与此相符: https://stackoverflow.com/questions/17811376/dll-files-not-loaded-if-executing-jar-file

1 个答案:

答案 0 :(得分:0)

您运行的java命令似乎是x86(32位)版本,并且您在Windows中与jar文件关联的javaw是x64。这是一个不匹配的原因,其中一个将加载dll,另一个不会。

如果它在控制台中工作,但在双击时不会显示该库是32位。这是对的吗?

如果是这样,并且您希望将双重窗口关联更改为x86版本,则需要按照以下说明操作:

http://windowstipoftheday.blogspot.dk/2005/10/setting-jar-file-association.html

注意:说明链接到java的x64版本。您需要在“C:\ program files(x86)\ java”中找到它。

相关问题