java - 如何为 Linux 打包游戏?

标签 java linux software-distribution rpm deb

我有一个目前在 Windows 和 Mac OS X 下运行的游戏,我想让它在 Linux 下可用。移植应该相当容易,因为它是一款基于 Java 的游戏,并使用可在所有 3 个平台上使用的可移植库。

这个问题的困难部分和原因是将它打包,以便它可以在尽可能多的现代 Linux 发行版上运行。主要目标将是 Ubuntu 9。

Webstart 不是一个可以接受的方式,.tar.gz 是最后的选择。我非常喜欢具有正确定义的依赖项(例如 Java)并且易于安装的包。

我还需要能够在 Windows 环境下构建包,因为我的构建链中的某些工具仅适用于 Windows。

最佳答案

首先看看类似的项目是如何实现这一目标的。我想到的一个是 Freecol ,一款基于 Java 的跨平台游戏。他们的download page有关于在许多平台上安装它的相当清楚的信息。他们还在 GetDEB 等站点提供软件包适用于 Ubuntu 和 PackMan适用于 OpenSuse。

一般来说,如果你想打尽可能多的分布,你应该考虑的格式是(按重要性的粗略顺序):

  1. Ubuntu .deb(如果可以的话也创建一个存储库)
  2. OpenSUSE .rpm 或 .ypm(一键安装)
  3. Fedora.rpm
  4. .tar.gz预编译包

然后是从源选项构建,或尽力而为的二进制安装程序。最后,看看其他流行的发行版,例如 Debian、Mandriva 和 BSDs

一旦针对特定平台存在包,您可能希望考虑将其接受到该发行版中。这将使用户更容易找到和获取。可以在此处找到有关 ubuntu 进程的信息:

(编辑:更好的列表,感谢 Jonik 的建议。)

关于java - 如何为 Linux 打包游戏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/897141/

相关文章:

java - 在 Java Playframework 2.4.x + AngularJS 上设置 CORS

java - 使用 asp.net web api 的 Android 库

java - 为什么我只能看到来自 jmap -permstat 的 "dead"类加载器( Bootstrap 除外)?

linux - 在 Linux 中查找最近 30 天内修改的文件数和文件总大小

ios - 没有设备信息的可安装 .ipa?怎么做?

java - 如何在函数执行期间显示加载消息?

linux - 进行输出重定向

linux - Linux 进程空闲时间

java - SWT:提供多平台下载包

python - 如果我想构建一个独立的程序而不是一个包,我是否需要 __init__.py ?