我不是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”捆绑包的文档,但我认为这不是我想要的,因为我想要一个可以插入的单个可执行文件,比如说{ {1}}所以我可以轻松地从终端调用它,使用不同的参数(并且不需要输入长路径)。
我不想用单独的shell脚本或shell别名解决这个问题,因为我将这个工具从一台机器移到另一台机器上,并且不想复制shell脚本或修改其他机器上的shell环境
那么有没有办法将Java程序编译/打包为单文件Mac OS X命令行工具?
答案 0 :(得分:0)
不幸的是,你做不到。 shell脚本方法就是它。
您的Java代码本身不可执行,它由JVM执行。另外,jar文件实际上是一个zip存档...所以shell根本不知道该如何处理它。
答案 1 :(得分:0)
查看YAJSW,它包装了Java应用程序,以便在本机平台上轻松启动。
你还有一个可以复制的东西的大目录;我不知道它是否会解决您在OS X上的具体问题,但我们将其用于Windows启动并且运行良好。