【问题标题】:Equivalent of double-clickable .sh and .bat on Mac?相当于 Mac 上的可双击 .sh 和 .bat?
【发布时间】:2010-10-10 01:08:43
【问题描述】:

我正在分发一个 Java 程序,我希望在其中运行一个可双击的文件

java -cp MyProgram.jar;MyLib.jar my.program.Main

在 Windows 上我只是分发一个 .bat 文件,对于 *nix 一个可执行的 .sh 文件。问题是,双击 .sh 文件只会在 Mac 上的文本编辑器中打开它。我应该为 Mac 做什么?

【问题讨论】:

标签: macos installation executable


【解决方案1】:

在 mac 上,有一个特定的扩展程序可以通过双击来执行 shell 脚本:这是.command

【讨论】:

  • 这是一个很老的问题,但是对于那些遇到<file>.command could not be executed because you do not have appropriate access privileges. 错误的人来说,就像我一样,在终端上执行以下命令:chmod u+x /path/to/file.command 应该可以解决这个问题。
  • @user2016436 我不想添加chmod u+x 来运行文件,因为可执行文件将在客户端运行。我该怎么办?
【解决方案2】:

对于 Mac 上的 Java 应用程序,您确实应该使用 Apple 的 Jar Bundler(在 Developer Tools/Applications/Utilities 文件夹中;实际上是 /usr/share/java/Tools/Jar Bundler 的符号链接)。它可以让您制作一个合适的 OS X 可双击应用程序,包括设置首选项,例如使用 Mac 工具栏、JVM 版本、图形系统、OS X 应用元数据和类路径/资源。

【讨论】:

    【解决方案3】:

    你可以使用 .sh(Shell 脚本),毕竟 MacOSX 是 Unix!

    【讨论】:

      【解决方案4】:

      关于使用 Jar Bundler 工具的答案是正确的,但是如果您想使用 .sh 文件,请确保将 unix 权限正确设置为使用 CHMOD 的 755 之类的内容,并确保第一行包含Mac OS X 上默认安装的 shell。另外请注意,即使设置了 +x 位,它仍可能会询问用户是否要打开它或运行它。

      【讨论】:

        猜你喜欢
        • 2012-12-13
        • 2015-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-27
        • 2017-12-11
        • 1970-01-01
        相关资源
        最近更新 更多