TestStaticJavaFX
1.0.0
Ini adalah proyek di mana saya berusaha membuat biner statis dari proyek javafx hanya menggunakan GraAlvm
musl dan zlib - Untuk pengaturan, baca dokumen ini yang disediakan oleh GraAlvmmake dan configure Penting
Ubah jalur yang diperlukan dalam file native.sh sebelum menjalankannya.
mvn clean install di akar proyek. Ini akan membuat toples dan meletakkan toples modul yang diperlukan di direktori target/modules .native.sh yang akan memohon gambar asli untuk membangun biner statis.Ketika saya mencoba menjalankan executable statis yang dibangun sebelumnya, saya menemukan kesalahan berikut?
Loading library prism_es2 from resource failed : java . lang.UnsatisfiedLinkError: Can't load library: /home/saptarshi-sarkar/.openjfx/cache/22-ea+11/amd64/libprism_es2.so
java . lang.UnsatisfiedLinkError: Can't load library: /home/saptarshi-sarkar/.openjfx/cache/22-ea+11/amd64/libprism_es2.so
at org . graalvm.nativeimage.builder/com.oracle.svm.core.jdk.NativeLibraries.loadLibraryAbsolute(NativeLibraries.java:105)
at java . [email protected]/java.lang.ClassLoader.loadLibrary(ClassLoader.java:114)
at java . [email protected]/java.lang.Runtime.load0(Runtime.java:852)
at java . [email protected]/java.lang.System.load(System.java:2030)
at javafx . graphics@22-ea/com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:220)
at javafx . graphics@22-ea/com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:200)
at javafx . graphics@22-ea/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:142)
at javafx . graphics@22-ea/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:58)
at javafx . graphics@22-ea/com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:63)
at java . [email protected]/java.security.AccessController.executePrivileged(AccessController.java:128)
at java . [email protected]/java.security.AccessController.doPrivileged(AccessController.java:319)
at javafx . graphics@22-ea/com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:52)
at java . [email protected]/java.lang.Class.ensureInitialized(DynamicHub.java:599)
at java . [email protected]/java.lang.Class.forName(DynamicHub.java:1396)
at java . [email protected]/java.lang.Class.forName(DynamicHub.java:1352)
at java . [email protected]/java.lang.Class.forName(DynamicHub.java:1346)
at javafx . graphics@22-ea/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
at javafx . graphics@22-ea/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:92)
at javafx . graphics@22-ea/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java . [email protected]/java.lang.Thread.runWith(Thread.java:1583)
at java . [email protected]/java.lang.Thread.run(Thread.java:1570)
at org . graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:853)
at org . graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:829)
Graphics Device initialization failed for : es2 , sw
Error initializing QuantumRenderer : no suitable pipeline found
java . lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx . graphics@22-ea/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283)
at javafx . graphics@22-ea/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:253)
at javafx . graphics@22-ea/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:263)
at javafx . graphics@22-ea/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:290)
at javafx . graphics@22-ea/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
at javafx . graphics@22-ea/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
at javafx . graphics@22-ea/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
at javafx . graphics@22-ea/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java . [email protected]/java.lang.Thread.runWith(Thread.java:1583)
at java . [email protected]/java.lang.Thread.run(Thread.java:1570)
at org . graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:853)
at org . graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:829)
Caused by : java . lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx . graphics@22-ea/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95)
at javafx . graphics@22-ea/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
... 4 more
Exception in thread "main" java . lang.RuntimeException: No toolkit found
at javafx . graphics@22-ea/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:275)
at javafx . graphics@22-ea/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:290)
at javafx . graphics@22-ea/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
at javafx . graphics@22-ea/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
at javafx . graphics@22-ea/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
at javafx . graphics@22-ea/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java . [email protected]/java.lang.Thread.runWith(Thread.java:1583)
at java . [email protected]/java.lang.Thread.run(Thread.java:1570)
at org . graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:853)
at org . graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:829)Saya masih sekarang mencari solusi yang layak untuk masalah di atas. Saya tahu tentang plugin Gluonfx Maven tetapi, itu tidak menghasilkan executable statis .
Catatan
Jika ada yang menemukan solusi, Anda dapat membuka masalah/diskusi atau permintaan tarik untuk menyelesaikan kesalahan yang menyebutkan perubahan yang diperlukan. Akan sangat membantu bagi masyarakat?