【发布时间】:2016-11-02 15:32:30
【问题描述】:
我用 Eclipse 制作了一个 Java 应用程序(在 *.jar 中导出),我想将它导出到 Windows (.exe)、Linux ( .?) 和 MAC (.?)。我没有任何 Linux 或 MAC 机器,所以我不知道每个机器需要什么扩展文件。所以我有几个问题:
对于 Windows,我使用 Launch4j 创建了我的 *.exe 文件,但对于 MAC 和 Linux 是否有任何等价物?
我的应用程序将选项保存到 Windows 注册表中(我使用了“JavaRegisrtyWrapper”库)。 MAC 和 Linux 是否有任何等效的“注册表”(以及如何在那里读/写信息)?
当用户在下载后尝试启动 *.exe 文件时,是否可以避免 Windows 警告“未知发布者”? (我会在 MAC 和 Linux 上遇到同样的问题吗?)。我尝试创建自己的证书,并使用“signtool.exe”对文件进行签名,但没有成功。
谢谢!
编辑:在将 *.jar 文件转换为任何其他格式之前,我必须修改我的代码以获取用户的操作系统以及每种情况的“文档”文件夹。我认为os.name 可以满足第一个请求,但我可以将user.home + "Documents" 用于Windows、Linux 和Mac(如果此文件夹存在...)?
【问题讨论】:
-
为 linux 创建一个简单的 bash 脚本,并与你的 jar 一起交付,然后可以通过脚本启动它
-
欢迎来到 StackOverflow!你的英语很棒,你的问题也很棒:)
-
launch4j 也是跨平台的。您可以使用它生成 ELF 和 Mach-O 二进制文件(linux 和 MAC)。
-
@4castle 谢谢^^
-
请记住,您可以将其发布为 jarfile。大多数 Linux 用户都能够弄清楚如何运行 JAR 文件,因此您不必将其包装在 shell 脚本中。
标签: java linux windows macos executable