在 Linux 上创建 JPackage 安装程序 Java 应用程序时 linux-menu-group 应该是啥?
Posted
技术标签:
【中文标题】在 Linux 上创建 JPackage 安装程序 Java 应用程序时 linux-menu-group 应该是啥?【英文标题】:What should linux-menu-group be when creating JPackage installer Java application on Linux?在 Linux 上创建 JPackage 安装程序 Java 应用程序时 linux-menu-group 应该是什么? 【发布时间】:2020-07-03 16:53:27 【问题描述】:在 Linux 上创建 JPackage 安装程序 Java 应用程序的规范是什么?
我已经为 Windows 创建了一个安装程序,现在正在 Linux 上创建一个(使用 Ubuntu)
到目前为止我有:
-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
用于创建 debian 安装程序,它可以工作(安装尚未正常运行)但我对一些事情感到困惑,我对 linux 环境不太熟悉。
看不到 linux-menu-group 或 linux-shortcut 的效果 我应该使用 linux-menu-group 还是 linux-app-category,如果是,它是预定义列表吗?【问题讨论】:
【参考方案1】:linux-菜单组
--linux-menu-group
定义了应用程序将被分类到的categories
(由;
分隔)。
桌面开始菜单条目和类别之间存在联系,但类别更通用。但是,通过指定例如Education
作为值,您将看到您的应用程序快捷方式出现在主菜单(桌面开始菜单)的 Education
组中。
如果您的类别与现有类别不匹配,它将被添加到Other
菜单部分。
从技术上讲,您提供的类别(通过--linux-menu-group
)将添加到desktop entry descriptor file (*.desktop
) (See Desktop Menu Specification) 的category
属性中。*.menu 文件和包含*.desktop
文件的目录的组合构成了各种菜单。
linux-menu-group
的可能值:
vscode 例如使用此值:Utility;TextEditor;Development;IDE;
linux-快捷方式
如果您不提供--linux-shortcut
,您将不会获得菜单快捷方式。如果您没有提供上述内容,我不确定是否有任何理由提供--linux-menu-group
。
linux-app-category
--linux-app-category
与桌面菜单快捷方式无关。 对应*.deb
文件的Section
字段,“指定包已分类到的应用程序区域”。 Ref
这就像对软件类型的分类(例如在搜索包时)。
描述了可能的值here
【讨论】:
谢谢,所以如果我想使用主要类别的音频,它说我还必须使用音频/视频,所以我这样做 --linux-menu-group=AudioVideo, Audio。 我不认为你“应该”。你可以使用Audio
。但如果您决定使用更多类别,请不要忘记用 ;
(而不是 ,
)分隔。
@PaulTaylor 哦,好吧,我刚刚看到Audio
的notes:“桌面条目也必须包含AudioVideo”。那么是的:--linux-menu-group="AudioVideo;Audio;"
(在末尾也添加一个;
)以上是关于在 Linux 上创建 JPackage 安装程序 Java 应用程序时 linux-menu-group 应该是啥?的主要内容,如果未能解决你的问题,请参考以下文章