【发布时间】:2015-06-08 09:54:45
【问题描述】:
我一直在寻找许多关于此的类似帖子,但我仍然找不到我的答案。我想将 .java 程序转换为 Linux 可执行文件,不带 .jar 扩展名。我该怎么做?我正在尝试使用 Launch4j java wrapper、JWrapper、IzPack、制作 .sh、制作 .bat、使用 java -jar myFile.jar 等运行它,但它们都不起作用。有些程序很复杂,很难调试。是否有任何直接的方法可以将 .java 文件或 .jar 文件转换为 Linux 可执行文件?
我需要将此程序作为一个整体的 Linux 可执行文件传递给另一个程序,该程序将此程序作为参数。
【问题讨论】:
-
为什么你只想为 linux 制作 .sh 文件?我猜 java 的美妙之处在于跨平台,你只需要安装 JRE,一个 jar 就可以在任何操作系统上完美运行。
-
我尝试过制作一个 .sh 文件,但它不起作用。原因是因为我有一个由其他人修复和编写的主程序,我只能将我的程序作为 Linux 可执行文件(而不是 .jar)传递给它。我正在使用 Java 开发它。
-
@pythonhiew :我想你也可以使用 java -jar fileName.jar 之类的命令运行 jar。你为什么不做一个 bash 来运行命令和你的 JAR。
-
我不明白为什么 .sh 脚本与“linux 可执行文件”有任何不同,它也是可执行文件。大部分 linux 可执行文件实际上是脚本——如果这不起作用,那么我也看不到任何其他可执行文件将如何工作。另外:Launch4j 用于创建本机 Windows 可执行文件,我看不出这对 Linux 环境有什么帮助。
-
确保你的 .sh 文件是真正可执行的(chmod +x yourfile.sh),也许这就是问题所在。如果您将 shell 脚本传递给的工具不喜欢 .sh 结尾,只需将其重命名,省略 .sh 结尾即可。
标签: java linux eclipse wrapper executable