如何创建AppleScript或Command文件以在Mac上的特定目录中打开.jar文件?

时间:2013-02-20 00:51:27

标签: java macos shell applescript

所以我一直在谷歌搜索,现在正在寻找这个解决方案3个小时。我以前有一些文件用于此目的,但多年来它们已被删除。

基本上,我有一个名为RiD.jar的.jar文件位于:/ Users / Mom / Desktop / RiD

.jar最近更新了可能允许支持Mac OS X的更改。我已经完成了在Mac OS X环境中测试它的任务。

我需要制作一个双击文件,打开可以添加到初始下载的.jar文件(包含所有包含文件的文件夹的.rar文件,其中一个是RiD.jar)这将适用于所有Mac用户。

无论是使用AppleScript还是其他东西,只要它有效,我很高兴。

为了在您的推荐中创建任何特定的文件类型,请帮我解释用于制作此文件类型的程序以及任何其他相关信息,因为我的OS X编程知识有限。

感谢任何帮助,我们非常欢迎您提出任何问题。

编辑:

以下是我尝试通过终端打开时获得的内容的副本:

我在Mac App Store中包含最新版本的Java(例如Java 6更新41)。

java.io.IOException: Cannot run program "cmd": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at java.lang.Runtime.exec(Runtime.java:593)
    at java.lang.Runtime.exec(Runtime.java:431)
    at java.lang.Runtime.exec(Runtime.java:328)
    at Run.main(Run.java)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
    at java.lang.ProcessImpl.start(ProcessImpl.java:91)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 4 more

编辑:我刚从Oracle网站更新到Java 7更新15,因为需要在浏览器中运行Java applet,该浏览器必须适用于原始RiD.jar文件。我仍然得到与Java 6更新41相同的错误。

编辑:我和开发人员谈过,他在使用OS X时删除了使用cmd。我现在有一个稍微不同的错误:

My-Computer:~ Mom$ cd /Users/Mom/Desktop/RiD
My-Computer:RiD Mom$ java -jar RiD.jar
java.io.IOException: Cannot run program "javaw": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at java.lang.Runtime.exec(Runtime.java:593)
    at java.lang.Runtime.exec(Runtime.java:431)
    at java.lang.Runtime.exec(Runtime.java:328)
    at Run.main(Run.java)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
    at java.lang.ProcessImpl.start(ProcessImpl.java:91)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 4 more
    enter code here

1 个答案:

答案 0 :(得分:0)

错误跟踪似乎表明Java代码调用“cmd”,可能是为了运行一些脚本。如果是这种情况,如果没有对底层Java代码进行一些代码更改,它显然不适用于Mac。

通常,要在Mac上运行JAR文件,需要从Oracle安装Java。在安装之后,应该将jar文件与正常双击的Java启动相关联。

UPDATE(以匹配更新的问题):JAR文件正在尝试调用javaw,这是Java的无控制台运行时。没有看到代码,我不能说它为什么这样做,但它看起来像一个PATH错误。在终端中,尝试编写

which javaw

我的猜测是它找不到javaw的正确目的地。解决方案是您手动编辑环境以包含javaw的路径,如果可以找到它,否则,最简单的方法是从Oracle重新安装Java并查看问题是否消失。

也可能是JAR文件中的脚本假定javaw的路径不正确,例如假设它位于典型的Windows路径中。