Codenameone 未能创建CEF浏览器

Codenameone 未能创建CEF浏览器,codenameone,Codenameone,我的应用程序无法生成,甚至无法运行。它给我一个创建CEF浏览器失败的错误。 直到今天一切都很顺利。我按照此链接中的说明再次卸载并安装了CEF:但它仍然给了我错误。 以下是控制台中的完整错误: java.lang.RuntimeException: Failed to create CEF browser [EDT] 0:0:0,40 - Exception: java.lang.RuntimeException - Failed to create CEF browser at com.

我的应用程序无法生成,甚至无法运行。它给我一个创建CEF浏览器失败的错误。 直到今天一切都很顺利。我按照此链接中的说明再次卸载并安装了CEF:但它仍然给了我错误。 以下是控制台中的完整错误:

java.lang.RuntimeException: Failed to create CEF browser
[EDT] 0:0:0,40 - Exception: java.lang.RuntimeException - Failed to create CEF browser
    at com.codename1.impl.javase.cef.JavaCEFSEPort.createCEFBrowserComponent(JavaCEFSEPort.java:130)
    at com.codename1.impl.javase.cef.JavaCEFSEPort.createBrowserComponent(JavaCEFSEPort.java:98)
    at com.codename1.ui.BrowserComponent$9.run(BrowserComponent.java:557)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1338)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1280)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:1162)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
Caused by: java.lang.UnsatisfiedLinkError: /home/falcon/.codenameone/cef/lib/linux64/libjcef.so: libjawt.so: cannot open shared object file: No such file or directory
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2640)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
    at java.base/java.lang.System.loadLibrary(System.java:1873)
    at org.cef.SystemBootstrap$1.loadLibrary(SystemBootstrap.java:24)
    at org.cef.SystemBootstrap.loadLibrary(SystemBootstrap.java:36)
    at org.cef.CefApp.startup(CefApp.java:536)
    at com.codename1.impl.javase.cef.CEFBrowserComponent.create(CEFBrowserComponent.java:207)
    at com.codename1.impl.javase.cef.CEFBrowserComponent.create(CEFBrowserComponent.java:199)
    at com.codename1.impl.javase.cef.CEFBrowserComponent.create(CEFBrowserComponent.java:196)
    at com.codename1.impl.javase.cef.JavaCEFSEPort.createCEFBrowserComponent(JavaCEFSEPort.java:136)
    at com.codename1.impl.javase.cef.JavaCEFSEPort$2.run(JavaCEFSEPort.java:120)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.RuntimeException: Failed to create screenshots for HTML <!doctype html> ...(CSS file contents)
</html>.  Timeout reached.  Likely there was a problem initializing the browser component.
    at com.codename1.designer.css.ResourcesMutator.createScreenshots(ResourcesMutator.java:668)
    at com.codename1.designer.css.CSSTheme.createImageBorders(CSSTheme.java:2562)
    at com.codename1.designer.css.CN1CSSCLI.compile(CN1CSSCLI.java:916)
    at com.codename1.designer.css.CN1CSSCLI.main(CN1CSSCLI.java:780)
    at com.codename1.designer.ResourceEditorApp._main(ResourceEditorApp.java:568)
    at com.codename1.designer.ResourceEditorApp.main(ResourceEditorApp.java:258)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.codename1.impl.javase.CN1Bootstrap.run(CN1Bootstrap.java:218)
    at com.codename1.impl.javase.CN1Bootstrap.run(CN1Bootstrap.java:96)
    at com.codename1.designer.ResourceEditorApp.main(ResourceEditorApp.java:265)
/home/falcon/NetBeansProjects/bizapp_mobile/build.xml:625: Java returned: 1
BUILD FAILED (total time: 1 minute 2 seconds)
java.lang.RuntimeException:无法创建CEF浏览器
[EDT]0:0:0,40-异常:java.lang.RuntimeException-无法创建CEF浏览器
位于com.codename1.impl.javase.cef.JavaCEFSEPort.createCEFBrowserComponent(JavaCEFSEPort.java:130)
位于com.codename1.impl.javase.cef.JavaCEFSEPort.createBrowserComponent(JavaCEFSEPort.java:98)
在com.codename1.ui.BrowserComponent$9.run(BrowserComponent.java:557)
位于com.codename1.ui.Display.processSerialCalls(Display.java:1338)
在com.codename1.ui.Display.edtlopimpl(Display.java:1280)上
位于com.codename1.ui.Display.mainEDTLoop(Display.java:1162)
位于com.codename1.ui.runnablerrapper.run(runnablerrapper.java:120)
位于com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
原因:java.lang.unsatifiedlinkerror:/home/falcon/.codenameone/cef/lib/linux64/libjcef.so:libjawt.so:无法打开共享对象文件:没有这样的文件或目录
位于java.base/java.lang.ClassLoader$NativeLibrary.load0(本机方法)
位于java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
位于java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
位于java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
位于java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2640)
位于java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
位于java.base/java.lang.System.loadLibrary(System.java:1873)
位于org.cef.SystemBootstrap$1.loadLibrary(SystemBootstrap.java:24)
位于org.cef.SystemBootstrap.loadLibrary(SystemBootstrap.java:36)
位于org.cef.CefApp.startup(CefApp.java:536)
位于com.codename1.impl.javase.cef.CEFBrowserComponent.create(CEFBrowserComponent.java:207)
位于com.codename1.impl.javase.cef.CEFBrowserComponent.create(CEFBrowserComponent.java:199)
位于com.codename1.impl.javase.cef.CEFBrowserComponent.create(CEFBrowserComponent.java:196)
位于com.codename1.impl.javase.cef.JavaCEFSEPort.createCEFBrowserComponent(JavaCEFSEPort.java:136)
位于com.codename1.impl.javase.cef.JavaCEFSEPort$2.run(JavaCEFSEPort.java:120)
位于java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
位于java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
位于java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
位于java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
位于java.base/java.security.AccessController.doPrivileged(本机方法)
位于java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
位于java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
位于java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
位于java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
位于java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
位于java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
位于java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
位于java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.RuntimeException:未能为HTML…(CSS文件内容)创建屏幕截图
.  已达到超时。初始化浏览器组件时可能出现问题。
位于com.codename1.designer.css.resourcesumtator.createScreenshots(resourcesumtator.java:668)
位于com.codename1.designer.css.CSSTheme.createImageBorders(CSSTheme.java:2562)
位于com.codename1.designer.css.cn1cscli.compile(cn1cscli.java:916)
位于com.codename1.designer.css.cn1cscli.main(cn1cscli.java:780)
位于com.codename1.designer.ResourceEditorApp.\u main(ResourceEditorApp.java:568)
位于com.codename1.designer.ResourceEditorApp.main(ResourceEditorApp.java:258)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:566)
位于com.codename1.impl.javase.CN1Bootstrap.run(CN1Bootstrap.java:218)
位于com.codename1.impl.javase.CN1Bootstrap.run(CN1Bootstrap.java:96)
位于com.codename1.designer.ResourceEditorApp.main(ResourceEditorApp.java:265)
/home/falcon/NetBeansProjects/bizapp_mobile/build.xml:625:Java返回:1
生成失败(总时间:1分2秒)
有什么问题吗?

这是Linux目前的一个问题

未满足的链接异常(libjcef.so:libjawt.so) 在Ubuntu20和其他一些Linux版本上,有报道称,在运行安装了CEF的代号One模拟器时,您会遇到不满意的LinkException,其中提到libjcef.so无法找到libjawt.so。这是因为JDK的lib目录不在LD_LIBRARY_路径中。您可以通过添加它来解决此问题。例如

导出LD_LIBRARY_PATH=$JAVA_HOME/lib/amd64


我做了一些调试,发现问题出在我的CSS文件中。我还调试了CSS,并意识到问题在于框阴影属性。当我评论所有的框阴影属性时,一切都按要求进行了。那么为什么box shadow属性现在会导致问题呢?我已经这样做了,但仍然会得到相同的错误。