Using the 64bit XulRunner in Eclipse SWT under Win

2020-03-24 04:20发布

问题:

Is it possible to use the 64bit XulRunner for Windows (available from here) with the Eclipse browser widget? It works fine under 32bit Windows and the answer to this question explains how this works. But when I try this under 64bit Windows I get the following exception:

 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)

Thanks for help, Michael

Edit: I found it in the Eclipse bug-tracker (link here):

swt's 64-bit Windows port does not have xulrunner support because mozilla.org does not provide a 64-bit xulrunner on Windows

But as the last comment on this bug says, there is a 64bit XulRunner available

回答1:

Yes, XULRunner support on Windows x86_64 is now in place for the upcoming Eclipse/SWT 4.3 release.

Regarding the XPCOM error 0x80004005, if you're trying to use XULRunner 3.6.x (like the poster in the other question) then support for this was released even more recently, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=406912 .



回答2:

So I came here with similar problem: trying to run DJ Project browser within Java Swing - more specifically within that the Mozilla XPCOM Download Manager sample which requires SWT and XULRunner.

Following the eclipse bug link in your OP - I found another (eclipse bugzilla) - looks like this has been a long-standing issue (only 5+ years!!) - which is actually now (as of 11/4/13 - 2 days ago!) fixed.

I have downloaded SWT package from Eclipse nightly builds and I can confirm it does now contain the swt-xulrunner-win32-xxxx.dll. Unfortunately I now have other problems stopping my test working, but thought I'd post what I'd found here.

Edit: Actually my problem now is identical to this XPCOM error 0x80004005



回答3:

I realize that this question is old and already has an accepted answer, but in regards to the XPCOM error 0x80004005, I may be able to help.

With 64-bit 4.3 SWT I was able to fix this exception by using XULRunner version 1.9.2.25 runtimes. Originally I found the download from here: https://osdn.net/projects/sfnet_runawfe/downloads/SRC%20and%20BIN%20files/extras/xulrunner-1.9.2.25-win64.zip/

However, I have also re-hosted it as xulrunner-1.9.2.25.en-US.win64.zip.

Full explanation posted in my answer here: https://stackoverflow.com/a/44848877/3300205