Eclipse RCP プラグイン内で実行される SWT ブラウザーとして Firefox を使用しようとしています。
ここで見つけた次のコードを使用して、XULRunner をロードしようとしました。
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 でした。
バージョンに関係なく、クラッシュして次のスタック トレースが表示されます。
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 エラーの意味と修正方法を知っている人はいますか?