我构建了一个可执行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
答案 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”中找到它。