我知道如何将“jar”转换为Windows可执行文件(.exe)。但我想知道如何将“jar”转换为Linux可执行文件(.?)。我已经搜索了谷歌,但没有得到我想要的确切答案,请帮助做到这一点。
我想知道如何将“jar”转换为Linux可执行文件(.?)。
Linux 不像 Windows 那样具有可执行文件。在 Linux 中,我们有二进制文件和脚本。脚本由解释器运行; Ruby 和 Python 等语言。二进制文件是编译代码的文件,它们可以是库或整个程序。二进制文件和脚本都可以执行。
要使程序在 Linux 中可执行,请在命令中输入以下内容 线。
$ chmod +x myProgram
或者,您可以打开文件首选项并在 权限部分。
由于 Linux 没有
.exe
文件或类似文件,我们必须解决其他问题。 Linux 和其他类 Unix 操作系统都有一个名为 bash 的 shell;对于 Linux 和 Mac,通常称为命令行或终端。我们想要创建一个可以作为整个程序运行的文件,而不必调用 $ java -jar myProgram.jar
。为了告诉 bash 为文件启动脚本环境,我们使用 hashbang。这是文件的第一行,指示 bash 寻找解释器以将文件的其余部分发送到。对于 bash 脚本,例如 Windows 上的批处理脚本,我们将以 #!/bin/bash
开头该文件。 #!
(hashbang)之后的路径告诉 bash 要寻找解释器。对于 .jar
,请创建 hashbang #!/usr/bin/java -jar
,然后将 .jar
添加到带有 hashbang 的文件中。这一切都可以从 Linux 的终端完成。
使用 java jar hashbang 创建一个文件。
$ echo '#!/usr/bin/java -jar' > myBin
我们已将 hashbang 作为字符串写入新文件 myBin。
将 jar 写入文件。
$ cat my.jar >> myBin
>>
将 jar 附加到接收文件中。
这将创建一个文件,其中包含 bash hashbang 和附加的 jar。接下来将
myBin
设置为可执行文件并尝试运行该程序。
$ chmod +x myBin
$ ./myBin
创建一个包含以下内容的 sh 包装文件并使其可执行:
#!/bin/bash
java -jar <your-jar>
可以选择添加一些虚拟机参数。
也许有一些工具可以生成这样的文件,但我认为手动完成它并不费力。
尝试使用 packr 工具。它将帮助您从 Java 应用程序创建本机 Linux 可执行文件。
您始终可以通过执行
java -jar myFile.jar
来运行 jar 文件。
但是,要使 jar 文件本身可执行,您需要设置可执行位,如消息提示。
chmod +x /path/to/your/file/myFile.jar
将实现这一目标。
之后您可以执行
./myFile.jar
来运行它。
man chmod
将为您提供有关 chmod 如何工作的信息。
来源:AskUbuntu 上的如何使 .jar 文件可执行?。 加里
回答虽然制作 shell 脚本是可行的,但在大多数情况下它似乎有点矫枉过正。为什么不直接使用别名并将其放入您的
.bashrc
或 .bash_aliases
文件中呢?像这样:
alias whatever='java -jar /path/to/whatever.jar'
(由于我的解决方案在这里没有作为答案,我的“为什么”是一个有点真实的问题:是否存在一些隐藏的危险或我遗漏的功能?或者更多的是遵守最严格的解释的问题OP的问题?)
在这种情况下,更合适和准确的可能是创建一个桌面配置文件。
答案很晚,但也许有人会需要它!
要在 Linux 上使 jar 文件“可执行”,您需要打开文件属性,然后在常规部分 --> 打开方式 --> 单击更改并在应用程序首选项顺序下添加“java -jar”,并在权限中设置程序可执行文件部分。