Я пытаюсь использовать Firefox как свой SWT-браузер, который запускается внутри моего плагина Eclipse RCP.Firefox в Eclipse RCP
Я попытался загрузки XULRunner используя следующий код, который я нашел here:
Bundle bundle = Platform.getBundle(PLUGIN_NAME); //$NON-NLS-1$
if (bundle != null) {
URL resourceUrl = bundle.getResource("xulrunner"); //$NON-NLS-1$
if (resourceUrl != null) {
try {
URL fileUrl = FileLocator.toFileURL(resourceUrl);
File file = new File(fileUrl.toURI());
System.setProperty(
"org.eclipse.swt.browser.XULRunnerPath", "file:///" + file.getAbsolutePath()); //$NON-NLS-1$
System.setProperty("org.eclipse.swt.browser.DefaultType",
"mozilla");
} catch (IOException e) {
e.printStackTrace();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
Browser webBrowser = new Browser(parent, SWT.MOZILLA);
Я использую Windows 7 x86 и Eclipse, Indigo. Я попытался XulRunner 3.6.25 и 10. В версии Firefox я был 10 и 22.
Независимо от того, какая версия, она не выходит из строя давая это StackTrace:
org.eclipse.swt.SWTError: XPCOM error -2147467259
at org.eclipse.swt.browser.Mozilla.error(Mozilla.java:2502)
at org.eclipse.swt.browser.Mozilla.initXULRunner(Mozilla.java:2464)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:672)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:99)
Если удалить file:///
перед путевым к XULRunner Я получаю ошибку c is not a registered protocol
в XULrunner 3.6.25.
Кто-нибудь знает, что означает эта ошибка XPCOM и как ее исправить?
Первый результат google для «SWTError: XPCOM error»: [Ошибка 174395 - браузер SWTError (ошибка XPCOM -2147467259) при использовании виджета SWT 3.3 Broswer на Linux с Mozilla 1.7.8] (https: //bugs.eclipse .org/bugs/show_bug.cgi? id = 174395) – Baz
@Baz: Спасибо. Как я вижу, описанная ошибка представляет собой 64-разрядную проблему. Но моя среда чисто 32 бит. –