我不是Java程序员,但我经常使用别人编写的Java程序,该程序目前打包为.jar文件,我从Mac终端调用该程序如下:
$ java -jar /path/to/jarfile/myJavaCommand.jar -some other arguments ...我更希望能够像调用任何其他命令行工具一样调用它:
$ myJavaCommand -some other arguments ...我有.java源代码和一个Makefile,它将它们转换为.class文件,并将它们打包到.jar中。
我已经找到了将Java程序转换成Mac可双击的".app“包的文档,但我不认为这是我想要的,因为我想要一个可以放入,比如说,/usr/local/bin中的单个可执行文件,这样我就可以很容易地从终端调用它,使用不同的参数(而不需要键入长路径)。
我不想用单独的shell脚本或shell别名来解决这个问题,因为我将这个工具从一台机器移动到另一台机器,并且不希望在其他机器上复制shell脚本或修改shell环境。
那么,有没有办法将Java程序编译/打包为单文件Mac OS X命令行工具呢?
发布于 2011-04-06 09:05:16
不幸的是,您不能。shell脚本方法基本上就是这样。
您的java代码不是本地可执行的,它是由JVM执行的。此外,jar文件实际上是一个zip归档文件...所以shell根本不知道该怎么处理它。
发布于 2011-04-06 10:00:46
看看YAJSW,它包装了Java应用程序,以便更容易在本机平台上启动。
你仍然有一个很大的目录可以复制;我不知道它是否能解决你在OS上的具体问题,但我们用它来启动Windows,它工作得很好。
https://stackoverflow.com/questions/5560338
复制相似问题