-1

所以我一直在谷歌上搜索并搜索了 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 update 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 update 15,因为它需要在浏览器中运行 Java 小程序,该浏览器必须为原始 RiD.jar 文件工作。我仍然收到与 Java 6 update 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
4

1 回答 1

0

错误跟踪似乎表明 Java 代码调用“cmd”,大概是为了运行一些脚本。如果是这种情况,如果不对底层 Java 代码进行一些代码更改,它显然无法在 Mac 上运行。

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

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

which javaw

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

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

于 2013-02-20T03:10:57.057 回答