Ниже приведена информация. В этом вопросе я предоставляю:
- Часть pom.xml, содержащую определение затененного плагина.
- Выполнение затененный jar
- Содержимое затененного jar
- Генерация rpm с использованием jpackage
- Ошибка при установке приложения из RPM
- Содержимое сгенерированного RPM
Для этого, судя по тому, что я прочитал, я сначала создаю затененный jar, а затем использую jpackage для создания независимого исполняемого файла. . Определение затененного плагина в pom.xml(full pom.xml):
org.apache.maven.plugins
maven-shade-plugin
3.2.4
shade
true
com.intelidia.simplejavafxapp.simplejavafxapp.HelloApplication
2. Выполнение затененного jar
Java прекрасно работает с помощью этой команды: java --module-path /home/noor/Documents/Apps/javafx-sdk-22.0.1/lib --add-modules javafx.controls,javafx.fxml -jar SimpleJavaFXApp-1.0-SNAPSHOT-shaded.jar
3. Содержимое затененного jar
Вывод jar tf SimpleJavaFXApp-1.0-SNAPSHOT-shaded.jar можно найти здесь. Извините, что не предоставил это здесь, если я это сделаю, допустимое количество символов превысится.
4. Генерация rpm с помощью jpackage
jpackage генерирует пакет с помощью команды:
jpackage --name SimpleJavaFXApp --input ./target --main-jar ./target/SimpleJavaFXApp-1.0-SNAPSHOT-shaded.jar --main-class com.intelidia.simplejavafxapp.simplejavafxapp.HelloApplication --module-path /home/noor/Documents/Apps/javafx-sdk-22.0.1/lib --add-modules javafx.controls,javafx.fxml
5. Ошибка при установке приложения из rpm
jpackage генерирует пакет с помощью команды:
Running the installed application generates the following error:
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.0.1/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.QuantumToolkit.init(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics@22.0.1/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
... 3 more
6. С о д е р ж и м о е с г е н е р и р о в а н н о г о п а к е т а < / s t r o n g > п о к а з а н о н и ж е : < / p > < b r / > < c o d e > / o p t / s i m p l e j a v a f x a p p < b r / > / o p t / s i m p l e j a v a f x a p p / b i n < b r / > / o p t / s i m p l e j a v a f x a p p / b i n / S i m p l e J a v a F X A p p < b r / > / o p t / s i m p l e j a v a f x a p p / l i b < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / S i m p l e J a v a F X A p p . p n g < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / S i m p l e J a v a F X A p p - 1 . 0 - S N A P S H O T - s h a d e d . j a r < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / S i m p l e J a v a F X A p p - 1 . 0 - S N A P S H O T . j a r < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / S i m p l e J a v a F X A p p . c f g < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / c o m < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / c o m / i n t e l i d i a < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / c o m / i n t e l i d i a / s i m p l e j a v a f x a p p < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / c o m / i n t e l i d i a / s i m p l e j a v a f x a p p / s i m p l e j a v a f x a p p < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / c o m / i n t e l i d i a / s i m p l e j a v a f x a p p / s i m p l e j a v a f x a p p / H e l l o A p p l i c a t i o n . c l a s s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / c o m / i n t e l i d i a / s i m p l e j a v a f x a p p / s i m p l e j a v a f x a p p / H e l l o C o n t r o l l e r . c l a s s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / c o m / i n t e l i d i a / s i m p l e j a v a f x a p p / s i m p l e j a v a f x a p p / h e l l o - v i e w . f x m l < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / c l a s s e s / m o d u l e - i n f o . c l a s s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / g e n e r a t e d - s o u r c e s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / g e n e r a t e d - s o u r c e s / a n n o t a t i o n s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - a r c h i v e r < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - a r c h i v e r / p o m . p r o p e r t i e s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - s t a t u s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - s t a t u s / m a v e n - c o m p i l e r - p l u g i n < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - s t a t u s / m a v e n - c o m p i l e r - p l u g i n / c o m p i l e < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - s t a t u s / m a v e n - c o m p i l e r - p l u g i n / c o m p i l e / d e f a u l t - c o m p i l e < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - s t a t u s / m a v e n - c o m p i l e r - p l u g i n / c o m p i l e / d e f a u l t - c o m p i l e / c r e a t e d F i l e s . l s t < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / a p p / m a v e n - s t a t u s / m a v e n - c o m p i l e r - p l u g i n / c o m p i l e / d e f a u l t - c o m p i l e / i n p u t F i l e s . l s t < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / l i b a p p l a u n c h e r . s o < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / j a x p . p r o p e r t i e s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / n e t . p r o p e r t i e s < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / s d p < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / s d p / s d p . c o n f . t e m p l a t e < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / s e c u r i t y < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / s e c u r i t y / j a v a . p o l i c y < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / s e c u r i t y / j a v a . s e c u r i t y < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / s e c u r i t y / p o l i c y < b r / > / o p t / s i m p l e j a v a f x a p p / l i b / r u n t i m e / c o n f / s e c u r i t y / p o l i c y / R E A D M E . t x t < b r / > / o pt/simplejavafxapp/lib/runtime/conf/security/policy/limited
/opt/simplejavafxapp/lib/runtime/conf/security/policy/limited/default_US_export.policy
/opt/simplejavafxapp/lib/runtime/conf/security/policy/limited/default_local.policy
/opt/simplejavafxapp/lib/runtime/conf/security/policy/limited/exempt_local.policy
/opt/simplejavafxapp/lib/runtime/conf/security/policy/unlimited
/opt/simplejavafxapp/lib/runtime/conf/security/policy/unlimited/default_US_export.policy
/opt/simplejavafxapp/lib/runtime/conf/security/policy/unlimited/default_local.policy
/opt/simplejavafxapp/lib/runtime/conf/sound.properties
/opt/simplejavafxapp/lib/runtime/legal
/opt/simplejavafxapp/lib/runtime/legal/java.base
/opt/simplejavafxapp/lib/runtime/legal/java.base/COPYRIGHT
/opt/simplejavafxapp/lib/runtime/legal/java.base/LICENSE
/opt/simplejavafxapp/lib/runtime/legal/java.base/aes.md
/opt/simplejavafxapp/lib/runtime/legal/java.base/asm.md
/opt/simplejavafxapp/lib/runtime/legal/java.base/c-libutl.md
/opt/simplejavafxapp/lib/runtime/legal/java.base/cldr.md
/opt/simplejavafxapp/lib/runtime/legal/java.base/icu.md
/opt/simplejavafxapp/lib/runtime/legal/java.base/public_suffix.md
/opt/simplejavafxapp/lib/runtime/legal/java.base/unicode.md
/opt/simplejavafxapp/lib/runtime/legal/java.datatransfer
/opt/simplejavafxapp/lib/runtime/legal/java.datatransfer/COPYRIGHT
/opt/simplejavafxapp/lib/runtime/legal/java.desktop
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/colorimaging.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/giflib.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/harfbuzz.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/jpeg.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/lcms.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/libpng.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/mesa3d.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/pipewire.md
/opt/simplejavafxapp/lib/runtime/legal/java.desktop/xwd.md
/opt/simplejavafxapp/lib/runtime/legal/java.prefs
/opt/simplejavafxapp/lib/runtime/legal/java.prefs/LICENSE
/opt/simplejavafxapp/lib/runtime/legal/java.scripting
/opt/simplejavafxapp/lib/runtime/legal/java.scripting/LICENSE
/opt/simplejavafxapp/lib/runtime/legal/java.xml
/opt/simplejavafxapp/lib/runtime/legal/java.xml/bcel.md
/opt/simplejavafxapp/lib/runtime/legal/java.xml/dom.md
/opt/simplejavafxapp/lib/runtime/legal/java.xml/jcup.md
/opt/simplejavafxapp/lib/runtime/legal/java.xml/xalan.md
/opt/simplejavafxapp/lib/runtime/legal/java.xml/xerces.md
/opt/simplejavafxapp/lib/runtime/legal/jdk.unsupported
/opt/simplejavafxapp/lib/runtime/lib
/opt/simplejavafxapp/lib/runtime/lib/classlist
/opt/simplejavafxapp/lib/runtime/lib/jexec
/opt/simplejavafxapp/lib/runtime/lib/jrt-fs.jar
/opt/simplejavafxapp/lib/runtime/lib/jspawnhelper
/opt/simplejavafxapp/lib/runtime/lib/jvm.cfg
/opt/simplejavafxapp/lib/runtime/lib/libawt.so
/opt/simplejavafxapp/lib/runtime/lib/libawt_headless.so
/opt/simplejavafxapp/lib/runtime/lib/libawt_xawt.so
/opt/simplejavafxapp/lib/runtime/lib/libfontmanager.so
/opt/simplejavafxapp/lib/runtime/lib/libjava.so
/opt/simplejavafxapp/lib/runtime/lib/libjavajpeg.so
/opt/simplejavafxapp/lib/runtime/lib/libjawt.so
/opt/simplejavafxapp/lib/runtime/lib/libjimage.so
/opt/simplejavafxapp/lib/runtime/lib/libjli.so
/opt/simplejavafxapp/lib/runtime/lib/libjsig.so
/opt/simplejavafxapp/lib/runtime/lib/libjsound.so
/opt/simplejavafxapp/lib/runtime/lib/liblcms.so
/opt/simplejavafxapp/lib/runtime/lib/libmlib_image.so
/opt/simplejavafxapp/lib/runtime/lib/libnet.so
/opt/simplejavafxapp/lib/runtime/lib/libnio.so
/opt/simplejavafxapp/lib/runtime/lib/libprefs.so
/opt/simplejavafxapp/lib/runtime/lib/libsimdsort.so
/opt/simplejavafxapp/lib/runtime/lib/libsplashscreen.so
/opt/simplejavafxapp/lib/runtime/lib/libsyslookup.so
/opt/simplejavafxapp/lib/runtime/lib/libverify.so
/opt/simplejavafxapp/lib/runtime/lib/libzip.so
/opt/simplejavafxapp/lib/runtime/lib/modules
/opt/simplejavafxapp/lib/runtime/lib/psfont.properties.ja
/opt/simplejavafxapp/lib/runtime/lib/psfontj2d.properties
/opt/simplejavafxapp/lib/runtime/lib/security
/opt/simplejavafxapp/lib/runtime/lib/security/blocked.certs
/opt/simplejavafxapp/lib/runtime/lib/security/cacerts
/opt/simplejavafxapp/lib/runtime/lib/security/default.policy
/opt/simplejavafxapp/lib/runtime/lib/security/public_suffix_list.dat
/opt/simplejavafxapp/lib/runtime/lib/server
/opt/simplejavafxapp/lib/runtime/lib/server/libjsig.so
/opt/simplejavafxapp/lib/runtime/lib/server/libjvm.so
/opt/simplejavafxapp/lib/runtime/lib/tzdb.dat
/opt/simplejavafxapp/lib/runtime/release
Подробнее здесь: https://stackoverflow.com/questions/785 ... ils-to-run
Мобильная версия