2

我不是 Java 程序员,但我经常使用其他人编写的 Java 程序,该程序当前打包为 .jar 文件,我从 Mac OS X 终端调用它:

$ java -jar /path/to/jarfile/myJavaCommand.jar -some other arguments ...

我宁愿能够像任何其他命令行工具一样调用它:

$ myJavaCommand -some other arguments ...

我有 .java 源代码和 Makefile 将它们转换为 .class 文件并将它们打包到 .jar 中。

我找到了将 Java 程序转换为 Mac OS X 可双击“.app”包的文档,但我认为这不是我想要的,因为我想要一个可以放入的可执行文件,比如说,/usr/local/bin这样我就可以轻松从终端调用它,使用不同的参数(并且不输入长路径)。

我不想使用单独的 shell 脚本或 shell 别名来解决这个问题,因为我将这个工具从一台机器移动到另一台机器,并且不想在其他机器上复制 shell 脚本或修改 shell 环境。

那么有没有办法将 Java 程序编译/打包为单文件 Mac OS X 命令行工具?

4

2 回答 2

0

看看YAJSW,它封装了 Java 应用程序,以便更容易在本机平台上启动。

你仍然有一个很大的目录要复制;我不知道它是否能解决您在 OS X 上的具体问题,但我们将它用于 Windows 启动并且效果很好。

于 2011-04-06T02:00:45.913 回答
0

不幸的是,你不能。shell 脚本方法就是这样。

您的 java 代码不是本机可执行的,而是由 JVM 执行的。此外,jar 文件实际上是一个 zip 存档......所以外壳根本不知道如何处理它。

于 2011-04-06T01:05:16.267 回答