![](/img/trans.png)
[英]How to convert a .java or a .jar file into a Linux executable file ( without a .jar extension, which means it's not a .jar file )
[英]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.