我正在分发一个Java程序,希望双击文件即可运行
java -cp MyProgram.jar;MyLib.jar my.program.Main
在Windows上,我只需分发一个.bat文件,在*nix上是可执行的.sh文件。问题是,双击.sh文件在Mac上只会在文本编辑器中打开它。我该怎么做才能在Mac上运行它?
我正在分发一个Java程序,希望双击文件即可运行
java -cp MyProgram.jar;MyLib.jar my.program.Main
在Windows上,我只需分发一个.bat文件,在*nix上是可执行的.sh文件。问题是,双击.sh文件在Mac上只会在文本编辑器中打开它。我该怎么做才能在Mac上运行它?
在 macOS 上,有一种特定的扩展名可以通过双击执行 shell 脚本:就是 .command
。
<file>.command 无法执行,因为您没有适当的访问权限。
错误的人,可以在终端上执行以下命令来解决问题: chmod u+x /path/to/file.command
。这应该可以消除该问题。 - asherbretchmod u+x
来运行文件,因为可执行文件将在客户端上运行。我该怎么办? - Mr_Green针对 Mac 上的 Java 应用程序,你应该使用苹果公司提供的 Jar Bundler 工具(位于开发者工具/应用程序/实用工具文件夹中;实际上是 /usr/share/java/Tools/Jar Bundler 的符号链接)。它可以帮助你创建一个真正的 OS X 双击可执行应用程序,包括设置偏好选项,例如使用 Mac 工具栏、JVM 版本、图形系统、OS X 应用程序元数据和类路径/资源。
您可以使用 .sh(Shell 脚本),毕竟 MacOSX 是 Unix!
关于使用Jar Bundler工具的答案是正确的,但如果您想使用.sh文件,请确保使用CHMOD将Unix权限设置为755,同时确保第一行包含Mac OS X默认安装的shell路径。此外,请注意即使+x位已设置,它仍可能会询问用户是否要打开或运行它。