有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java可执行jar文件不会双击加载dll,但会运行

我构建了一个可执行的jar文件(test.jar),它依赖于一些jar库和dll

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

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

但当我双击可执行jar文件时,会显示fileChooser,在选择一个文件后,什么都不会发生。 通过这种方式,它显示了最终的对话! 我把我的文件放在下面:

新文件夹

 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) 个答案

  1. # 1 楼答案

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

    如果它在控制台中工作,但双击时不工作,则该库似乎是32位的。对吗

    如果是这样,并且您想将double上的windows关联更改为x86版本,则需要遵循以下说明:

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

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