我正在尝试使用一个名为旅程浏览器的库,它使用JavaChromium嵌入式框架。我首先用netbeans创建了一个java maven项目,并编辑了pom.xml以匹配库指南中的值,如下所示:https://github.com/codebrig/journey,添加maven依赖项(netbeans没有检测到错误)然后我构建了这个项目来下载maven依赖项,并将它们的默认代码(稍微修改)放在主类中。netbeans在代码中没有发现错误。然而,当我运行这个项目时,我得到了一个“no chrome\ elf in java.library.path”。我认为这与嵌入jcef有关,但我不确定如何将其添加到netbeans中的“java.library.path”中。
如何解决“chrome\u elf”问题?另外,如果我能解决这个问题,如果有人没有安装“chrome\u elf”,这会是一个生产错误吗?
1条答案
按热度按时间xam8gpfp1#
对于windows
这是因为
chrome_elf.dll
(在windows上)找不到文件。java正在上查找此文件
java.library.path
-它(无论如何,在我的机器上)指的是窗口引用的所有位置%path%
环境变量。解决这个问题的一种方法是从github页面下载一个预构建的发行版(例如这里提到的windows发行版):
然后解压缩结果
jcef-distrib-windows64.zip
. 在win64\bin\lib\win64
在主目录下你会发现chrome_elf.dll
你需要-和其他二进制文件,这也是需要的。将此目录添加到您的路径-通过将其添加到windows环境变量或通过
java -Djava.library.path=...
.例如,路径可能类似于:
这应该允许您运行
JourneyBrowser
班级。结果应该会打开一个浏览器窗口。这是浏览器:
上面的步骤对我很有效——我需要从(大型)发行版下载中保留的文件只有
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
类)。