Journey 浏览器 Java Chromium Embedded 框架抛出错误?

问题描述

我正在尝试使用一个名为 Journey 浏览器的库,它使用 Java Chromium 嵌入式框架。我首先使用 Netbeans 创建了一个 Java Maven 项目,并编辑了 pom.xml 以匹配库指南中的值,该指南位于:https://github.com/CodeBrig/Journey,以添加 maven 依赖项。 (Netbeans 未检测到错误)然后我构建了项目以下载 maven 依赖项并将它们的默认代码(稍作修改)放在主类中。 Netbeans 在代码中没有发现错误。但是,当我运行该项目时,我得到一个“java.library.path 中没有 chrome_elf”。我认为这与嵌入 JCEF 有关,但我不确定如何将其添加到 Netbeans 中的“java.library.path”。

如何解决这个“chrome_elf”问题? 另外,如果我能够解决这个问题,如果有人没有安装“chrome_elf”,是否会导致生产错误?

解决方法

Windows

发生这种情况是因为找不到 chrome_elf.dll(在 Windows 上)文件。

Java 正在 java.library.path 上查找此文件 - 它(无论如何在我的机器上)指的是 Windows %path% 环境变量引用的所有位置。

解决此问题的一种方法是从该 GitHub 页面下载预构建的发行版之一(例如 Windows 发行版,参考 here):

https://github.com/CodeBrig/Journey/releases/download/0.4.0-78-assets/jcef-distrib-windows64.zip

然后解压缩生成的 jcef-distrib-windows64.zip。在该主目录下的 win64\bin\lib\win64 目录中,您会找到您需要的 chrome_elf.dll - 以及其他也需要的二进制文件。

将此目录添加到您的路径 - 通过将其添加到 Windows 环境变量或通过 java -Djava.library.path=...

比如路径可能是这样的:

C:\your\path\to\jcef-distrib-windows64\win64\bin\lib\win64

这应该允许您运行 JourneyBrowser 类中提供的演示代码。结果应该会打开一个浏览器窗口。

这是浏览器:

enter image description here

上述步骤对我有用 - 我需要从(大型)分发下载中保留的唯一文件是 jcef-distrib-windows64\win64\bin\lib\win64 目录中的文件。可能我已经有一些可能需要的其他依赖项 - 因此我不能保证此过程也适用于您。

对于 Linux(和 MacOS)

我没有在 Linux 机器上试过这个。但在这种情况下,我相信您需要下载并解压缩 jcef-distrib-linux64 版本 - 然后指向 jcef-distrib-linux64\linux64\bin\lib\linux64 目录,其中包含 libcef.so 和其他库。

与 MacOS 类似,有一个可以下载和解压的发行版。

替代方案

另一种方法是使用提供的命令简单地使用 GitHub 上提供的预构建发行版。显然,在这种情况下,您不会创建自己的自定义实现(因此,没有 JourneyBrowser 类)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...