Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java windows 10 64位上maven SWT项目中的XPCOM错误_Java_Maven_Swt_Xulrunner - Fatal编程技术网

Java windows 10 64位上maven SWT项目中的XPCOM错误

Java windows 10 64位上maven SWT项目中的XPCOM错误,java,maven,swt,xulrunner,Java,Maven,Swt,Xulrunner,我正在尝试运行最简单的SWT浏览器示例,其中MOZILLA作为默认渲染器。得到这个错误 --- exec-maven-plugin:1.2.1:exec (default-cli) @ SwtBrowser --- Exception in thread "main" org.eclipse.swt.SWTError: XPCOM error 0x80004005 at org.eclipse.swt.browser.Mozilla.error(Unknown Source) a

我正在尝试运行最简单的SWT浏览器示例,其中MOZILLA作为默认渲染器。得到这个错误

--- exec-maven-plugin:1.2.1:exec (default-cli) @ SwtBrowser ---
Exception in thread "main" org.eclipse.swt.SWTError: XPCOM error 0x80004005
    at org.eclipse.swt.browser.Mozilla.error(Unknown Source)
    at org.eclipse.swt.browser.Mozilla.initXULRunner(Unknown Source)
    at org.eclipse.swt.browser.Mozilla.create(Unknown Source)
    at org.eclipse.swt.browser.Browser.<init>(Unknown Source)
    at dev.nazm.swt.Mozilla.main(Mozilla.java:57)
------------------------------------------------------------------------
我已经下载了xulrunner 24.0并将其解压缩到C:\Program Files\xulrunner 24

这是我的主课

public class SwtBrowser {
    public static void main(String[] args) {
        String path = "C:\\Program Files\\xulrunner24";
        System.getProperties().setProperty("org.eclipse.swt.browser.XULRunnerPath",path);
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setLayout(new FillLayout());
        Browser browser = new Browser(shell, SWT.MOZILLA);
        browser.setUrl("https://chromium.github.io/octane/");
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
        display.dispose();
    }
}
这是我的java版本

java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)`
我正在Windows 10 amd64环境中尝试此功能。 我已经在我的计算机上安装了Mozilla FirefoxESR 24.0。 我还安装了VisualC++可再发行版本

现在我的问题是

  • 我的电脑上安装的Firefox版本是否需要满足xulrunner版本的要求
  • 正如SWT常见问题解答所述,Windows(x86_64)的要求:

    任何版本为1.9.2.x-3.6.x、10.x或24.x的XULRunner发行版,以及 VisualC++ 2010运行时必须安装< /P> 操作系统架构对xulrunner重要吗

  • 我已经安装了EclipseNeon3,并尝试创建一个项目并在.ini文件中添加运行时参数。但还是有同样的问题。所以最后一个问题是如何在Windows64位平台上的maven项目中运行它

  • 使用64位4.3 SWT(和4.4—我只测试了这两个版本),我可以通过使用XULRunner版本1.9.2.25运行时来运行代码

    我还必须更新您的
    pom.xml
    以获取64位SWT(
    org.eclipse.SWT.win32.win32.x86_64
    ,而不是
    org.eclipse.SWT.win32.win32.x86
    ),因为64位JVM(在我的例子中是1.8.0_131)

    最初,我在这里找到了xulrunner下载:

    但是,我也在我的存储库中重新托管了它

    关于在Maven项目中这样做,我不确定。您只需将其与应用程序打包在
    lib
    目录中即可。如果将xulrunner运行时打包并放入Maven存储库会有所帮助,那么我也可以将其托管(我们的用户可以将其托管在自己拥有的repo上)

    如果这不起作用,请告诉我,我很乐意再看一眼

    java -version
    java version "1.8.0_60"
    Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
    Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)`