You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jpackage生成DEB文件在QApt安装器中存在描述显示Bug

解决jpackage生成DEB包在QApt中描述重复且首字符截断的问题

在Linux(Kubuntu 23.0.4)系统中使用openjdk 17.0.7 LTS的jpackage工具生成DEB包时,通过--description参数设置的描述文本,在QApt软件包安装器中会出现异常显示:顶部显示加粗的描述标题,下方重复显示相同文本但首字符被截断,影响专业观感。

使用的jpackage命令如下:

jpackage -t deb \
--app-version 1.0.0 \
--icon books256.png \
--name hello \
--description 'my testing text' \
--dest target/jpackage_outputdir/ \
--temp target/jpackage_tempdir \
--input target/jpackage_inputdir \
--main-class core.Main \
--main-jar jarfile.jar \
--linux-menu-group Office \
--linux-shortcut

解决思路与方案

1. 分离标题与详细描述(推荐)

DEB包的描述字段支持**短描述(标题)+长描述(正文)**的格式,通过在--description参数中使用换行符分隔两者即可实现:

--description 'Hello App - 测试应用\n这是一个基于Java开发的测试应用,用于演示jpackage打包DEB的正确描述格式'

短描述会作为QApt中显示的加粗标题,长描述则作为下方的详细说明,完全避免重复问题。

2. 仅消除重复显示(基础修复)

如果不需要分标题和正文,仅需避免重复,可通过在描述文本前添加一个空行的方式绕过QApt的解析bug:

--description '\nmy testing text'

这种方式会让QApt只显示正常的文本内容,不再出现重复截断的情况,但无法实现标题与正文的分离。

3. 手动修改DEB包的控制文件(进阶)

若上述参数方式不满足需求,可手动修改DEB包内的control文件:

  • 解压DEB包:dpkg-deb -x hello_1.0.0_amd64.deb temp_dir
  • 解压控制文件:dpkg-deb -e hello_1.0.0_amd64.deb temp_dir/DEBIAN
  • 编辑temp_dir/DEBIAN/control文件,分别设置Description字段的短描述和长描述:
    Description: Hello App - 测试应用
     这是一个基于Java开发的测试应用,用于演示jpackage打包DEB的正确描述格式
    
    注意长描述行首需缩进一个空格。
  • 重新打包:dpkg-deb -b temp_dir fixed_hello_1.0.0_amd64.deb

内容的提问来源于stack exchange,提问作者MarekChr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:42:58