Как создать пакет .deb из проекта JavaFx?

Я не хочу создавать установщик для моего проекта приложения JavaFx (пакет .deb). Я обнаружил, что это можно сделать с помощью Intellij, но это не работает для моего проекта. Пакет Deb создан, но после установки мое приложение не запускается. Кроме того, я не хочу настраивать этот пакет. На главной странице Debian я прочитал, что мне нужно создать управляющий файл и с помощью dpkg-deb --build я могу создать пакет. Но я не знаю, как настроить управляющий файл и как это все подключить к загрузочному классу Main.java или к сгенерированному jar-файлу. Я ищу советы или советы, как сделать это лучше всего.


person Paweł Pamuła    schedule 27.07.2020    source источник
comment
Создайте образ приложения вместо пакета deb (просто измените --type=deb на --type=app-image в команде jpackage); затем запустите приложение из командной строки, используя образ приложения. Таким образом, если возникают исключения, вы должны увидеть трассировку стека в командной строке, чтобы вы могли диагностировать проблему. Вы также можете изменить образ приложения с помощью управляющего файла (я не знаком с .deb пакетами), а затем собрать .deb из измененного образа: см. здесь   -  person James_D    schedule 27.07.2020


Ответы (1)


Я использовал intellij для создания с ним пакета .deb, но должен ли этот пакет быть таким большим? (67 МБ) Установка занимает около 250 МБ. Мой файл .jar с зависимостями весит 1,9 МБ. Я посмотрел на этот пакет и есть разные библиотеки, из-за которых этот пакет так много весит (в основном amd64 и ext):

 ── lib
│   ├── amd64
│   │   ├── jli
│   │   │   └── libjli.so
│   │   ├── jvm.cfg
│   │   ├── libattach.so
│   │   ├── libavplugin-53.so
│   │   ├── libavplugin-54.so
│   │   ├── libavplugin-55.so
│   │   ├── libavplugin-56.so
│   │   ├── libavplugin-57.so
│   │   ├── libavplugin-ffmpeg-56.so
│   │   ├── libavplugin-ffmpeg-57.so
│   │   ├── libavplugin-ffmpeg-58.so
│   │   ├── libawt_headless.so
│   │   ├── libawt.so
│   │   ├── libawt_xawt.so
│   │   ├── libbci.so
│   │   ├── libdcpr.so
│   │   ├── libdecora_sse.so
│   │   ├── libdeploy.so
│   │   ├── libdt_socket.so
│   │   ├── libfontmanager.so
│   │   ├── libfxplugins.so
│   │   ├── libglassgtk2.so
│   │   ├── libglassgtk3.so
│   │   ├── libglass.so
│   │   ├── libglib-lite.so
│   │   ├── libgstreamer-lite.so
│   │   ├── libhprof.so
│   │   ├── libinstrument.so
│   │   ├── libj2gss.so
│   │   ├── libj2pcsc.so
│   │   ├── libj2pkcs11.so
│   │   ├── libjaas_unix.so
│   │   ├── libjava_crw_demo.so
│   │   ├── libjavafx_font_freetype.so
│   │   ├── libjavafx_font_pango.so
│   │   ├── libjavafx_font.so
│   │   ├── libjavafx_iio.so
│   │   ├── libjava.so
│   │   ├── libjawt.so
│   │   ├── libjdwp.so
│   │   ├── libjfr.so
│   │   ├── libjfxmedia.so
│   │   ├── libjfxwebkit.so
│   │   ├── libjpeg.so
│   │   ├── libjsdt.so
│   │   ├── libjsig.so
│   │   ├── libjsoundalsa.so
│   │   ├── libjsound.so
│   │   ├── liblcms.so
│   │   ├── libmanagement.so
│   │   ├── libmlib_image.so
│   │   ├── libnet.so
│   │   ├── libnio.so
│   │   ├── libnpt.so
│   │   ├── libprism_common.so
│   │   ├── libprism_es2.so
│   │   ├── libprism_sw.so
│   │   ├── libresource.so
│   │   ├── libsaproc.so
│   │   ├── libsctp.so
│   │   ├── libsplashscreen.so
│   │   ├── libsunec.so
│   │   ├── libt2k.so
│   │   ├── libunpack.so
│   │   ├── libverify.so
│   │   ├── libzip.so
│   │   └── server
│   │       ├── libjsig.so
│   │       ├── libjvm.so
│   │       └── Xusage.txt
│   ├── calendars.properties
│   ├── charsets.jar
│   ├── classlist
│   ├── cmm
│   │   ├── CIEXYZ.pf
│   │   ├── GRAY.pf
│   │   ├── LINEAR_RGB.pf
│   │   ├── PYCC.pf
│   │   └── sRGB.pf
│   ├── content-types.properties
│   ├── currency.data
│   ├── deploy.jar
│   ├── ext
│   │   ├── cldrdata.jar
│   │   ├── dnsns.jar
│   │   ├── jaccess.jar
│   │   ├── jfxrt.jar
│   │   ├── localedata.jar
│   │   ├── meta-index
│   │   ├── nashorn.jar
│   │   ├── sunec.jar
│   │   ├── sunjce_provider.jar
│   │   ├── sunpkcs11.jar
│   │   └── zipfs.jar
│   ├── flavormap.properties
│   ├── fontconfig.bfc
│   ├── fontconfig.properties.src
│   ├── fontconfig.RedHat.5.bfc
│   ├── fontconfig.RedHat.5.properties.src
│   ├── fontconfig.RedHat.6.bfc
│   ├── fontconfig.RedHat.6.properties.src
│   ├── fontconfig.SuSE.10.bfc
│   ├── fontconfig.SuSE.10.properties.src
│   ├── fontconfig.SuSE.11.bfc
│   ├── fontconfig.SuSE.11.properties.src
│   ├── fontconfig.Turbo.bfc
│   ├── fontconfig.Turbo.properties.src
│   ├── fonts
│   │   ├── fonts.dir
│   │   ├── LucidaBrightDemiBold.ttf
│   │   ├── LucidaBrightDemiItalic.ttf
│   │   ├── LucidaBrightItalic.ttf
│   │   ├── LucidaBrightRegular.ttf
│   │   ├── LucidaSansDemiBold.ttf
│   │   ├── LucidaSansRegular.ttf
│   │   ├── LucidaTypewriterBold.ttf
│   │   └── LucidaTypewriterRegular.ttf
│   ├── hijrah-config-umalqura.properties
│   ├── images
│   │   ├── cursors
│   │   │   ├── cursors.properties
│   │   │   ├── invalid32x32.gif
│   │   │   ├── motif_CopyDrop32x32.gif
│   │   │   ├── motif_CopyNoDrop32x32.gif
│   │   │   ├── motif_LinkDrop32x32.gif
│   │   │   ├── motif_LinkNoDrop32x32.gif
│   │   │   ├── motif_MoveDrop32x32.gif
│   │   │   └── motif_MoveNoDrop32x32.gif
│   │   └── icons
│   │       ├── sun-java_HighContrastInverse.png
│   │       ├── sun-java_HighContrast.png
│   │       ├── sun-java_LowContrast.png
│   │       └── sun-java.png
│   ├── javafx.properties
│   ├── javaws.jar
│   ├── jce.jar
│   ├── jexec
│   ├── jfr
│   │   ├── default.jfc
│   │   └── profile.jfc
│   ├── jfr.jar
│   ├── jfxswt.jar
│   ├── jsse.jar
│   ├── jvm.hprof.txt
│   ├── locale
│   │   ├── de
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── es
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── fr
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── it
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── ja
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── ko
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── ko.UTF-8
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── pt_BR
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── sv
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── zh
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── zh.GBK
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── zh_HK.BIG5HK
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   ├── zh_TW
│   │   │   └── LC_MESSAGES
│   │   │       └── sunw_java_plugin.mo
│   │   └── zh_TW.BIG5
│   │       └── LC_MESSAGES
│   │           └── sunw_java_plugin.mo
│   ├── logging.properties
│   ├── management
│   │   ├── jmxremote.access
│   │   ├── jmxremote.password.template
│   │   ├── management.properties
│   │   └── snmp.acl.template
│   ├── management-agent.jar
│   ├── meta-index
│   ├── net.properties
│   ├── oblique-fonts
│   │   ├── fonts.dir
│   │   ├── LucidaSansDemiOblique.ttf
│   │   ├── LucidaSansOblique.ttf
│   │   ├── LucidaTypewriterBoldOblique.ttf
│   │   └── LucidaTypewriterOblique.ttf
│   ├── plugin.jar
│   ├── psfontj2d.properties
│   ├── psfont.properties.ja
│   ├── resources.jar
│   ├── rt.jar
│   ├── security
│   │   ├── blacklist
│   │   ├── blacklisted.certs
│   │   ├── cacerts
│   │   ├── java.policy
│   │   ├── java.security
│   │   ├── javaws.policy
│   │   ├── policy
│   │   │   ├── limited
│   │   │   │   ├── local_policy.jar
│   │   │   │   └── US_export_policy.jar
│   │   │   └── unlimited
│   │   │       ├── local_policy.jar
│   │   │       └── US_export_policy.jar
│   │   └── trusted.libraries
│   ├── sound.properties
│   └── tzdb.dat

эти библиотеки нужны, можно ли как-то уменьшить размер этого файла?

person Paweł Pamuła    schedule 28.07.2020