JCEF ICU检查失败

And*_*ans 3 java scala chromium-embedded

在日食中,我似乎不断地与JCEF一起运行铬.我能够到达发现本机函数但仍无法完成初始化的程度.我设置了LD_PRELOAD变量.我正在运行MainFrame.java类和自定义Scala代码,并在每个代码中遇到相同的问题.有办法解决这个问题吗?

系统:

  • 操作系统:Ubuntu 16.04

  • JCEF第3版

  • CEF第3版

  • Java Jdk 8

结构和配置:

一切都在二元分布结构下.我将jar作为库导入,将本机库路径添加到jcef jar并将其导入到我的项目中.

我使用环境变量设置运行配置:

  • 显示=:0.0
  • LD_PRELOAD = /path/to/libcef.so

我的所有库和*.pak文件都位于同一目录和libcef.so所在的子目录(二进制分发版)中,以及chrome沙箱和帮助程序.

代码和错误

以下代码后代码失败:

  println("Generating Handlers")
  CefApp.addAppHandler(Handlers.getHandlerAdapter)
  private var settings = new CefSettings
  settings.windowless_rendering_enabled = useOSR
  println("Starting App")
  private final val cefApp : CefApp = if(commandLineArgs != null && commandLineArgs.size > 0) CefApp.getInstance(ChromeCommandLineParser.parse(commandLineArgs)) else CefApp.getInstance(settings)
  println("Creating Client")
  private final val client : CefClient = cefApp.createClient()
Run Code Online (Sandbox Code Playgroud)

以下输出结果:

Starting
Generating Handlers
Starting App
Creating Client
initialize on Thread[AWT-EventQueue-0,6,main] with library path /home/XXXXX/jcef/src/binary_distrib/linux64/bin/lib/linux64
[0413/135633:ERROR:icu_util.cc(157)] Invalid file descriptor to ICU data received.
[0413/135633:FATAL:content_main_runner.cc(700)] Check failed: base::i18n::InitializeICU(). 
#0 0x7ff8fa94a62e base::debug::StackTrace::StackTrace()
#1 0x7ff8fa95f88b logging::LogMessage::~LogMessage()
#2 0x7ff8fd7588d4 content::ContentMainRunnerImpl::Initialize()
#3 0x7ff8fa857962 CefContext::Initialize()
#4 0x7ff8fa85775b CefInitialize()
#5 0x7ff8fa80a9b8 cef_initialize
#6 0x7ff8d6946914 CefInitialize()
#7 0x7ff8d690200f Java_org_cef_CefApp_N_1Initialize
#8 0x7ff8de207994 <unknown>
Run Code Online (Sandbox Code Playgroud)

所有帮助表示赞赏.谢谢

dvl*_*ube 6

我有很多的这个问题太,直到我创建符号链接"icudtl.dat","natives_blob.bin""snapshot_blob.bin"$jdk/bin directory,而不是$jdk/jre/bin.

现在我不再得到这个错误了.

使用https://bitbucket.org/chromiumembedded/java-cef/wiki/BranchesAndBuilding中的示例

我改变了这个......

$ sudo ln -s /path/to/java-cef/src/third_party/cef/linux64/Resources/icudtl.dat /usr/lib/jvm/java-8-oracle/jre/bin/icudtl.dat

$ sudo ln -s /path/to/java-cef/src/third_party/cef/linux64/Debug/natives_blob.bin /usr/lib/jvm/java-8-oracle/jre/bin/natives_blob.bin

$ sudo ln -s /path/to/java-cef/src/third_party/cef/linux64/Debug/snapshot_blob.bin /usr/lib/jvm/java-8-oracle/jre/bin/snapshot_blob.bin
Run Code Online (Sandbox Code Playgroud)

对此......

$ sudo ln -s /path/to/java-cef/src/third_party/cef/linux64/Resources/icudtl.dat /usr/lib/jvm/java-8-oracle/bin/icudtl.dat

$ sudo ln -s /path/to/java-cef/src/third_party/cef/linux64/Debug/natives_blob.bin /usr/lib/jvm/java-8-oracle/bin/natives_blob.bin

$ sudo ln -s /path/to/java-cef/src/third_party/cef/linux64/Debug/snapshot_blob.bin /usr/lib/jvm/java-8-oracle/bin/snapshot_blob.bin
Run Code Online (Sandbox Code Playgroud)