【问题标题】:How can I compile/package a Java .jar as a Mac OS X command-line tool?如何将 Java .jar 编译/打包为 Mac OS X 命令行工具?
【发布时间】:2011-07-30 10:35:32
【问题描述】:

我不是 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”包的文档,但我认为这不是我想要的,因为我想要一个可以放入的单个可执行文件,比如 @ 987654323@ 这样我就可以轻松地从终端调用它,使用不同的参数(并且无需输入长路径)。

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

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

【问题讨论】:

    标签: java macos packaging executable-jar command-line-tool


    【解决方案1】:

    很遗憾,你不能。 shell 脚本方法就差不多了。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-05-14
        • 2010-11-07
        • 2015-03-20
        • 1970-01-01
        • 2010-12-15
        • 2010-09-10
        • 2015-03-21
        • 1970-01-01
        • 2012-07-25
        相关资源
        最近更新 更多