我知道如何将"jar"文件转换为Windows可执行文件(.exe),但我想知道如何将"jar"文件转换为Linux可执行文件( . ? )。我已经在谷歌上搜索了很久,但没有找到我想要的确切答案,请帮助我完成这项任务。
我知道如何将"jar"文件转换为Windows可执行文件(.exe),但我想知道如何将"jar"文件转换为Linux可执行文件( . ? )。我已经在谷歌上搜索了很久,但没有找到我想要的确切答案,请帮助我完成这项任务。
$ chmod +x myProgram
或者您可以打开文件首选项并在权限部分设置可执行文件。
由于Linux没有.exe文件或类似物,我们需要想出其他办法。Linux和其他类Unix操作系统有一个称为bash的shell;在Linux和Mac中通常称为命令行或终端。我们想创建一个可以作为整个程序运行的文件,而不必调用$ java -jar myProgram.jar
。为了告诉bash为文件启动脚本环境,我们使用哈希标记。这是文件的第一行,指示bash在哪里查找解释器以发送其余部分的内容。对于像Windows上的批处理脚本一样的bash脚本,我们将文件以#!/bin/bash
开头。在#!
(哈希标记)之后的路径告诉bash在哪里查找解释器。对于.jar
文件,将哈希标记设置为#!/usr/bin/java -jar
,然后将.jar
添加到具有哈希标记的文件中。这可以在Linux终端中完成。
创建一个带有java jar哈希标记的文件。
$ echo '#!/usr/bin/java -jar' > myBin
我们已将 hashbang 写为字符串到新文件 myBin 中。
将 jar 写入文件中。
$ cat my.jar >> myBin
>>
将jar附加到接收文件。这将创建一个具有bash hashbang和附加的jar的文件。接下来,将myBin
设置为可执行文件并尝试运行程序。$ chmod +x myBin
$ ./myBin
#!/bin/bash
java -jar <your-jar>
可选择添加一些虚拟机参数。
也许有一些工具可以生成这样的文件,但我认为手动做这件事并不费力。
您可以通过执行 java -jar myFile.jar
来运行一个 jar 文件。
然而,要使 jar 文件本身可执行,您需要设置可执行位,正如提示中所示。chmod +x /path/to/your/file/myFile.jar
将完成此操作。
之后,您可以执行 ./myFile.jar
来运行它。
man chmod
将为您提供有关 chmod 工作原理的信息。
来源:AskUbuntu 上的 How can I make a .jar file executable? 。回答者:Gary
虽然编写一个shell脚本可以解决问题,但在大多数情况下似乎有点过度。为什么不只是使用别名并将其放入您的.bashrc
或.bash_aliases
文件中呢?像这样:
alias whatever='java -jar /path/to/whatever.jar'
(由于我的解决方案没有出现在这里的答案中,我的“为什么”是一个相当真诚的问题:我是否忽略了某些隐藏的危险或功能?还是更多地遵循OP问题的最严格解释?)
jar
文件,就像在Linux中执行.sh
文件或在Windows中执行.bat
文件一样。 - dabaicaisudo chmod +x myFile.jar
- Abhishek Agarwaljava -jar <file>
命令呢? - vegaasen