【问题标题】:Java loading library windows 7 64bitJava加载库windows 7 64bit
【发布时间】:2010-12-18 20:44:36
【问题描述】:

我有一个 java webstart 程序,它可以在 xp、osx、vista 和 windows 7 上运行。 我只是尝试在 Windows 7 64 位上运行它,但在加载库时遇到问题。 在这台 win7x64 机器上,我有 64 位 jdk/jre,它没有加载的库是 swt-win32.dll。是的,它是 32 位的,但我得到了:

Exception in thread "Thread-10" java.lang.UnsatisfiedLinkError: no swt-win32-3325 or swt-win32 in swt.library.path, java.libary.path or the jar file...

我尝试将 dll 放在 java.library.path 上(将其物理复制到文件夹中),但仍然得到完全相同的错误。那么我收到这个错误是因为它是一个 32 位 dll 还是因为它实际上找不到它? 64 位 jdk/jre 可以加载/使用 32 位 dll,还是我需要找到 64 位版本的 dll 或运行 32 位 jdk/jre?

【问题讨论】:

    标签: java dll load 32bit-64bit


    【解决方案1】:

    你已经有了答案。 64 位 DLL 需要 64 位 JDK,32 位 DLL 需要 32 位 JDK。

    【讨论】:

    • 我发现有关本机库的 JDK 错误消息并不总是最直观的。我还建议在 webstart 之外进行测试。
    • @basszero 此测试在 webstart 之外:/
    【解决方案2】:

    swt-win32.dll 实际上是一个 SWT UI 框架(eclipse) dll。尝试将其放在系统路径中的目录中。

    如果这不起作用,那么您的下一个最佳选择是获取 64 位窗口的 SWT 二进制文件here。我认为它适用于 Windows Vista 64。没有提到 Windows 7,但它“应该”工作。

    【讨论】:

      猜你喜欢
      • 2014-03-06
      • 2011-12-17
      • 1970-01-01
      • 2014-12-31
      • 2011-11-05
      • 2018-06-18
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多