【发布时间】:2013-11-28 20:07:09
【问题描述】:
我正在编写一小段代码,旨在使用 AppleScriptEngine 与 Growl 进行通信。我会用我的所有类获得一个名为 MyApplication.jar 的 jar 文件,但我需要参考 AppleScriptEngine.jar(由 Apple 开发并存储在 /System/Library/Java/Extension 中)......这里的问题是:AppleScriptEngine.jar 存在在每个 Os x 发行版中,所以我想在 MyApplication.jar MANIFEST.MF 中引用它,而不在我的 .jar 文件中添加 AppleScriptEngine.jar。这基本上有两个原因:首先AppleScriptEngine是Apple的专有文件,其次我希望有一种方法可以引用文件系统内的现有文件。我阅读了很多关于正确组合 jar 文件的内容,在每个示例中,我发现在编码器的 jar 文件中打包了外部 jar 文件。 我尝试修改 MANIFEST 中的 class-path 属性,以便以这种方式直接指向 AppleScriptEngine.jar:
清单版本:1.0
Rsrc-Class-Path: ./
类路径:/System/Library/Java/Extensions/AppleScriptEngine.jar
Rsrc-Main-Class: core.MyApplicationLauncher
主类:org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Class-Path 应该是我的 jar 中的本地引用,但是给出 Class-Path 的绝对路径我应该能够引用我系统中的每个文件。也许我定义路径的方式有问题,或者我只能引用嵌套在我的 jar 中的文件。 Eclipse 内部显然一切正常,因为它引用了包含 AppleScriptEngine.jar 的 JRE 系统库。所以,也许有一种方法可以在我的 MANIFEST 文件中直接引用 JRE 系统库。经过数小时的冲浪后,我无法找到答案。有没有人有办法克服这个僵局?
【问题讨论】: