繁体   English   中英

如何将“jar”转换为 Linux 可执行文件?

[英]How to convert "jar" to Linux executable file?

我知道如何将“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>

可以选择添加一些 vm 参数。

也许有一些工具可以生成这样的文件,但我认为手动完成它的工作量很小。

您始终可以通过执行java -jar myFile.jar来运行 jar 文件。

但是,要使 jar 文件本身可执行,您需要设置可执行位,如消息提示的那样。 chmod +x /path/to/your/file/myFile.jar将完成此操作。

之后,您可以执行./myFile.jar来运行它。

man chmod将为您提供有关 chmod 如何工作的信息。

资料来源: 如何使 .jar 文件可执行? 在 AskUbuntu 上。 加里的回答

试试packr工具。 它将帮助您从 Java 应用程序创建本机 Linux 可执行文件。

虽然使 shell 脚本有效,但在大多数情况下似乎有点矫枉过正。 为什么不直接使用别名并将其放入.bashrc.bash_aliases文件中? 像这样:

alias whatever='java -jar /path/to/whatever.jar'

(由于我的解决方案没有在这里作为答案,我的“为什么”是一个有点真实的问题:是否有一些隐藏的危险或我缺少的功能?或者更多的是坚持最严格的解释OP的问题?)

在这种情况下,可能更恰当和准确的是创建一个桌面配置文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM