2012-07-02 91 views
3

如果你在OS X上使用Java < 1.7,并且你需要使用JSObject来连接一个applet到JavaScript,你可以在$ JAVA_HOME/jre/lib/plugin.jar。Java 7的plugin.jar在哪里

“plugin.jar”归档似乎不存在于OS X的Java 1.7上(由Oracle打包)。有一个jfxrt.jar似乎包含JSObject,但不幸的是,您不能使用几乎任何其他JDK上都可以使用的plugin.jar,包括适用于Linux的7u5,它仍然具有内置的plugin.jar

尤其是,如果您试图将其用作构建工具(如Maven)的编译依赖项,您可能会用JAVA_HOME-relative path做其他事情,这会让您感到恼火。

+0

我可以很容易地将jfxrt.jar放入我的本地回购中,并将其他平台上的plugin.jar放入这些系统的本地回购中,但这非常尴尬,特别是如果plugin.jar可能会重新出现在以后的JDK补丁版本中。 –

回答

1

Plugin.jar适用于OS X的Java 7u6,现已推出。

2

Mac OS X上的Java 7不支持Java插件。所以,plugin.jar根本就没有。如果你能找到Oracle的网站(祝你好运)的Java 7 installation guide for Mac OS X你会看到:

注意,对于7U4发布,Java插件和Java Web Start应用程序不支持。

而且,是的,7u5不在了,但它的发行说明表明这只是一个错误和安全修复程序。我假设Oracle只是没有更新他们的安装说明。它看起来像7u6 developer preview确实包括插件,所以至少它的方式。

jfxrt.jar文件适用于Java FX,它包含在Oracle Java 7 Mac OS X版本中。当然,Java FX是建立在Java小程序的基础之上的,并且旨在通过Java插件运行,因此不要问我为什么它会包含在Oracle的Mac OS X Java 7版本中,而Java插件本身不包含它。 (我猜你可以构建Java FX应用程序,但你无法运行它们)

真正的答案似乎是“在Mac OS X上完全不使用Java 7”。这可能是甲骨文将Java 6 EOL扩展到11月的原因之一。

+0

啊,这很有趣 - 我甚至没有考虑过这种可能性。 Java插件仍然适用于我,但这并不令人震惊,因为我还安装了Java SE 6。 –

+0

这暗示它会在JRE中,而不是在u6中的JDK中,这稍微增加了混淆:http://jdk7.java.net/macportpreview/releasenote.html –