【问题标题】:Using the 64bit XulRunner in Eclipse SWT under WindowsWindows下Eclipse SWT中使用64位XulRunner
【发布时间】:2013-01-05 00:12:30
【问题描述】:

是否可以将 64 位 XulRunner for Windows (available from here) 与 Eclipse 浏览器小部件一起使用?它在 32 位 Windows 下运行良好,this question 的答案解释了它是如何工作的。但是当我在 64 位 Windows 下尝试此操作时,出现以下异常:

 org.eclipse.swt.SWTError: No more handles (java.lang.UnsatisfiedLinkError: Could not   
 load SWT library. Reasons: 
   no swt-xulrunner-win32-3834 in java.library.path
   no swt-xulrunner-win32 in java.library.path
   Can't load library: 
     C:\Users\...\.swt\lib\win32\x86_64\swt-xulrunner-win32- 3834.dll
     Can't load library: C:\Users\...\.swt\lib\win32\x86_64\swt-xulrunner-win32.dll
    at org.eclipse.swt.SWT.error(SWT.java:4387)
    at org.eclipse.swt.SWT.error(SWT.java:4276)
    at org.eclipse.swt.browser.Mozilla.initXULRunner(Mozilla.java:2594)
    at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:684)
    at org.eclipse.swt.browser.Browser.<init>(Browser.java:99)
    at org.openlca.ui.BrowserFactory.createMozilla(BrowserFactory.java:52)

感谢您的帮助, 迈克尔

编辑: 我在 Eclipse 错误跟踪器 (link here) 中找到了它:

swt 的 64 位 Windows 端口不支持 xulrunner,因为 mozilla.org 在 Windows 上不提供 64 位 xulrunner

但正如关于这个错误的最后一条评论所说,有一个 64bit XulRunner 可用

【问题讨论】:

  • 两个问题:你用的是64bit的JVM和64位的eclipse吗?如果不是,您将无法将 64 位 dll 加载到您的 Eclipse
  • 抱歉在问题中忘记了这一点:是的,64 位 JVM 和 Eclipse。
  • 你设置了java.library.path吗?有可能,还有另一个 dll,它在你的 %path% 变量中。
  • 感谢您的评论,但我认为问题更多在于为 Windows 的 32 位版本的 SWT 提供了一个 swt-xulrunner-win32-4234.dll 库,但该库不在64位包。那么问题更多的是为什么这个库不包含在 64bit 包中?

标签: java swt eclipse-rcp xulrunner


【解决方案1】:

是的,Windows x86_64 上的 XULRunner 支持现已在即将发布的 Eclipse/SWT 4.3 版本中到位。

关于 XPCOM 错误 0x80004005,如果您尝试使用 XULRunner 3.6.x(如另一个问题中的海报),那么最近发布了对此的支持,请参阅 https://bugs.eclipse.org/bugs/show_bug.cgi?id=406912

【讨论】:

    【解决方案2】:

    所以我来到这里时遇到了类似的问题:尝试在 Java Swing 中运行 DJ Project 浏览器——更具体地说,在需要 SWT 和 XULRunner 的 Mozilla XPCOM 下载管理器示例中。

    按照您的 OP 中的 eclipse 错误链接 - 我发现了另一个 (eclipse bugzilla) - 看起来这是一个长期存在的问题(只有 5 年以上!!) - 实际上是现在(截至 11/4 /13 - 2 天前!)已修复。

    我已经从Eclipse nightly builds 下载了 SWT 包,我可以确认它现在确实包含 swt-xulrunner-win32-xxxx.dll。不幸的是,我现在有其他问题阻止我的测试工作,但我想我会在这里发布我发现的内容。

    编辑: 其实我现在的问题和这个XPCOM error 0x80004005

    【讨论】:

      【解决方案3】:

      我意识到这个问题已经过时并且已经有一个可以接受的答案,但是关于XPCOM error 0x80004005,我也许可以提供帮助。

      使用 64 位 4.3 SWT,我能够通过使用 XULRunner 版本 1.9.2.25 运行时修复此异常。原来我是从这里找到下载的:https://osdn.net/projects/sfnet_runawfe/downloads/SRC%20and%20BIN%20files/extras/xulrunner-1.9.2.25-win64.zip/

      不过,我也将其重新托管为xulrunner-1.9.2.25.en-US.win64.zip

      完整的解释贴在我的回答中:https://stackoverflow.com/a/44848877/3300205

      【讨论】:

        猜你喜欢
        • 2014-12-03
        • 1970-01-01
        • 2013-12-25
        • 2014-01-05
        • 1970-01-01
        • 1970-01-01
        • 2013-01-29
        • 2013-02-18
        • 2012-01-04
        相关资源
        最近更新 更多