我正在分发一个 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 做什么?
在 mac 上,有一个特定的扩展名可以通过双击来执行 shell 脚本:这是.command
.
对于 Mac 上的 Java 应用程序,您确实应该使用 Apple 的 Jar Bundler(在 Developer Tools/Applications/Utilities 文件夹中;实际上是 /usr/share/java/Tools/Jar Bundler 的符号链接)。它可以让您制作一个合适的 OS X 可双击应用程序,包括设置偏好设置,例如使用 Mac 工具栏、JVM 版本、图形系统、OS X 应用程序元数据和类路径/资源。
您可以使用 .sh(Shell 脚本),毕竟 MacOSX 是 Unix!
关于使用 Jar Bundler 工具的答案是正确的,但是如果您想使用 .sh 文件,请确保使用 CHMOD 将 unix 权限正确设置为 755 之类的内容,并确保第一行包含安装的 shell 的路径默认在 Mac OS X 上。还要注意,即使设置了 +x 位,它仍可能会询问用户是否要打开它或运行它。