将java程序在deepin上打包城deb

我觉得应该多出一些开发linux应用的教程或者帖子,这样才能降低门槛,让生态强大起来。大家也都贡献自己的力量,但是绝不是重复造轮子,这篇帖子只是降低打包门槛,但是不能降低开发门槛,希望能帮助到想做linux应用的人。

官方制作手册https://www.debian.org/doc/manuals/maint-guide/index.zh-cn.html

本文不深究java代码,只关注怎么将一个普通的java程序打包成可安装的deb包,然后在deepin、UOS、Ubuntu等环境下安装

准备

  1. 随便从网上找了一个java小游戏,俄罗斯方块的,先在本地run一下,地址:https://gitee.com/zzk4513/JavaGame
    image.png
  2. 拿到编译所有后的class文件,然后放到 tetries_code目录下


    image.png

整理目录和文件

目录结构

├── DEBIAN
│   └── control
└── usr
    ├── bin
    │   └── tetris2
    │   └── tetries_code
    └── share
        ├── applications
        │   └── tetris2.desktop
        └── icons
            └── tetris2.png

debian/control文件中信息说明

Source: tetris
Section: 
Priority: extra
Maintainer: 
Build-Depends:
Package: tetris2
Architecture: amd64
Description: auto-generated package by debmake
Version: 1.0.0

desktop文件内容

[Desktop Entry]
Categories=Game
Encoding=UTF-8
Exec=/usr/bin/tetris2
Icon=/usr/share/icons/tetris2.png
Name=Tetris2
Name[zh_CN]=俄罗斯方块2
StartupNotify=false
Terminal=false
Type=Application
X-MultipleArgs=false

制作启动脚本

wilton-PC:~/Desktop/tetris2/usr/bin$ cat ./tetris2 
# 因为我本地有java环境,此处不集成jre了,但是正常情况下deepin和其他几款linux好像是有openjdk的
cd /usr/bin/teries_code/
java com.zzk.teris.client.TerisClient

打包

# 切换到外层目录
$ cd desktop
$ dpkg -b tetris2 tetris2_1.0.0_amd64.deb

打包后文件

image.png

安装

$ sudo dpkg -i tetris2_1.0.0_amd64.deb 

安装成功,单击菜单里的图标


image.png

不好意思刚才玩了一会儿,忘记写帖子了,就到这吧

另外,打包python的教程:https://maxyjian.github.io/2018/08/27/python_deb.html


2020/12/22更新: 在星火应用商店中发现更人性化的打包方式,叫debreate打包工具,可以打出标准的包来,具体参考:
https://bbs.deepin.org/post/195472#mod=viewthread&tid=195472

你可能感兴趣的:(将java程序在deepin上打包城deb)