我用 Eclipse 制作了一个 Java 应用程序(导出为*.jar),我想将其导出到 Windows(.exe)、Linux(.?)和MAC(.?)。我没有任何 Linux 或 MAC 机器,所以我不知道每台机器都需要什么扩展文件。所以我有几个问题:
对于 Windows,我使用 Launch4j 创建 *.exe 文件,但对于 MAC 和 Linux 是否有等效文件?
我的应用程序将选项保存到 Windows 注册表中(我使用了“JavaRegistrtyWrapper“库)。是否有适用于 MAC 和 Linux 的等效“注册表”(以及我如何在那里读取/写入信息)?
当用户在下载后尝试启动 *.exe 文件时,是否可以避免 Windows 警告“未知发布者”? (我在 MAC 和 Linux 上也会遇到同样的问题吗?)。我尝试创建自己的证书,并使用“signtool.exe”对文件进行签名,但它不起作用。
Thanks !
编辑:在将 *.jar 文件转换为任何其他格式之前,我必须修改代码以获取用户的操作系统以及每种情况的“文档”文件夹。我认为os.name
可以满足第一个请求,但是我可以使用user.home + "Documents"
适用于 Windows、Linux 和 Mac(如果此文件夹存在...)?
运行 JAR 应用程序的脚本
在 Linux 和 Mac OS 上,您可以创建一个运行 .jar 文件的 bash 脚本:
#!/bin/bash
java -jar application.jar
基于 Unix 的系统上的 Windows 注册表等效项
Linux 和 Mac OS 上没有等效的 Windows 注册表。您可以将配置存储在文本文件中。机器特定的配置通常存储在 /etc 目录树中。
这是一个类似的超级用户问题:https://superuser.com/questions/295635/linux-equivalent-of-windows-registry https://superuser.com/questions/295635/linux-equivalent-of-windows-registry
签署 Windows EXE 文件
对于签名 Windows exe 文件,您可以尝试使用微软签名工具 https://msdn.microsoft.com/en-us/library/aa387764.aspx.
这是一个类似的 stackoverflow 问题:签署 Windows EXE 文件 https://stackoverflow.com/questions/252226/signing-a-windows-exe-file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)