What are the norms for creating JPackage installer Java application on Linux ?
I have created an installer for Windows, and am now creating one on Linux (using Ubuntu)
So far I have:
-i target/Jaikoz/buildLinux
--main-class com.jthink.jaikoz.Jaikoz
--name Jaikoz
--main-jar lib/jaikoz.jar
--app-version 10.1.0
--copyright "Copyright 2020 JThink Ltd, United Kingdom"
--arguments "-l2 -m2 -f" --java-options "-Dhttps.protocols=TLSv1.1,TLSv1.2"
--java-options "--add-opens java.base/java.lang=ALL-UNNAMED"
--vendor JThink
--icon "Jaikoz64.png"
--install-dir /opt
--linux-menu-group Jaikoz
--linux-shortcut
for creating a debian installer, it works (installs not yet running properly) but I am confused about a number of things, I am not so familiar with the linux environment.
--linux-menu-group
defines the categories
(separated by ;
) under which the application will be classified.
There is a connection between desktop start menu entries and categories but categories are more generic. However by specifying e.g. Education
as a value, you will see your application shortcut appearing on the Education
group of the main menu (of the desktop start menu).
If your category does not match an existing one it will be added to Other
menu section.
Technical-wise, the categories you provide (via --linux-menu-group
) will be added in the category
attribute of a desktop entry descriptor file (*.desktop
) (See Desktop Menu Specification).
The combination of *.menu files and directories containing *.desktop
files constructs the various menus.
Possible values for linux-menu-group
:
vscode for example uses this value: Utility;TextEditor;Development;IDE;
If you don't provide --linux-shortcut
you will not get a menu shortcut. I'm not sure if there is any reason providing --linux-menu-group
if you have not provided the above.
--linux-app-category
it is unrelated to the desktop menu shortcuts. It corresponds to the Section
field of *.deb
file and "specifies an application area into which the package has been classified". Ref
It's like a classification for the type of software (e.g. when searching for packages).
Possible values are described here