首页 > 解决方案 > Java 应用程序中的 WebView 在嵌入式 Linux ARM 硬浮点中不起作用

问题描述

我正在开发一个 javaFx 应用程序。在此应用程序中,需要离线地图。该应用程序需要在嵌入式 linux ARM Hard Float 32 位上运行。当我部署 jar 文件时,出现以下异常。

**Exception in thread "JavaFX Application Thread" java.lang.UnsatisfiedLinkError: no jfxwebkit in java.library.path: /usr/java/packages/lib:/usr/lib/arm-linux-gnueabihf/jni:/lib/arm-linux-gnueabihf:/usr/lib/arm-linux-gnueabihf:/usr/lib/jni:/lib:/usr/lib
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2447)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:809)
    at java.base/java.lang.System.loadLibrary(System.java:1893)
    at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150)
    at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
    at javafx.web/com.sun.webkit.WebPage.lambda$static$0(WebPage.java:133)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
    at javafx.web/com.sun.webkit.WebPage.<clinit>(WebPage.java:132)
    at javafx.web/javafx.scene.web.WebEngine.<init>(WebEngine.java:841)
    at javafx.web/javafx.scene.web.WebEngine.<init>(WebEngine.java:826)
    at javafx.web/javafx.scene.web.WebView.<init>(WebView.java:260)
    at com.sothawo.mapjfx.MapView.lambda$14(MapView.java:877)
    at java.base/java.util.Optional.ifPresent(Optional.java:176)
    at com.sothawo.mapjfx.MapView.initialize(MapView.java:875)
    at com.sothawo.mapjfx.MapView.initialize(MapView.java:856)
    at eagleeye.FXMLDocumentController.initMap(FXMLDocumentController.java:1466)
    at eagleeye.FXMLDocumentController$1.run(FXMLDocumentController.java:422)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
    at java.base/java.lang.Thread.run(Thread.java:832)**

该应用程序在 Windows 平台以及 Ubuntu 16.0.4 上运行良好,但不能在嵌入式 linux ARm Hard Float 上运行。我使用的 JavaFx sdk 是“JavaFX armv6hf SDK”,从以下链接下载JavaFX armv6hf SDK

标签: javalinuxwebviewembedded-linux

解决方案


推荐阅读