Ubuntu中Eclipse/SWT中的Java XULRunner错误

Vla*_*mir 3 java eclipse ubuntu swt xulrunner

XULRunner有什么问题所以,我有下一个环境:

  • Ubuntu 14.04
  • 已安装XULRunner
  • Eclipse 4.5.2

所以,

    public class Main {
       public static void main(String[] args) {

            System.setProperty("org.eclipse.swt.browser.DefaultType", "mozilla");
            System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "/opt/xulrunner/xulrunner");

            Display display = new Display();
            final Shell shell = new Shell(display);

            Browser webBrowser = new Browser(shell, SWT.MOZILLA);
            GridData grid = new GridData(GridData.FILL_BOTH);
            webBrowser.setLayoutData(grid);
            String graphUrl = "http://google.com";
            webBrowser.setUrl(graphUrl);
       }
    }
Run Code Online (Sandbox Code Playgroud)

但在Eclipse中我看到:

Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Browser style SWT.MOZILLA and Java system property org.eclipse.swt.browser.DefaultType=mozilla are not supported with GTK 3 as XULRunner is not ported for GTK 3 yet] at org.eclipse.swt.SWT.error(Unknown Source) at org.eclipse.swt.browser.MozillaDelegate.<init>(Unknown Source) at org.eclipse.swt.browser.Mozilla.create(Unknown Source) at org.eclipse.swt.browser.Browser.<init>(Unknown Source) at Main.main(Main.java:31)

没有帮助:

Eclipse/SWT中的XULRunner错误

如何为Eclipse安装XULRunner

如何使SWT浏览器控件在Windows上使用Mozilla而不是IE?

Ste*_*ski 9

XULRunner还没有移植到GTK3,所以你必须通过编辑eclipse.ini来让它在GTK2模式下运行,你可以在eclipse安装目录中找到它.

请检查您是否的eclipse.ini包含开头的行--launcher,例如

--launcher.appendVmargs
Run Code Online (Sandbox Code Playgroud)

在那之前加上以下两行:

--launcher.GTK_version
2
Run Code Online (Sandbox Code Playgroud)

是的,他们需要分开.

如果您没有找到以该行开头的行--launcher.,请找到一条只--vm说明的行并将这两行放在它前面的行上,如果找不到--vm行,请将其放在行之前--vmargs.

然后,您应该得到一个看起来像这样的文件.请注意,这只是一个例子:

--launcher.GTK_version
2
--launcher.appendVmargs
Run Code Online (Sandbox Code Playgroud)

要么

--launcher.GTK_version
2
--vm (or --vmargs)
Run Code Online (Sandbox Code Playgroud)