1

我正在尝试使用 Java 6 Update 10 中引入的新 LiveConnect 功能。

代码如下所示(从小程序教程中复制):

 Class<?> c = Class.forName("com.sun.java.browser.plugin2.DOM");
 Method m = c.getMethod("getDocument", java.applet.Applet.class);
 Document document = (Document) m.invoke(null, this);

但我得到的只是入口点类的 ClassNotFoundException。

这在 Mac 10.6 上,同时带有 Firefox 和 Safari。

Java Plug-in 1.6.0_22
Using JRE version 1.6.0_22-b04-307-10M3261 Java HotSpot(TM) 64-Bit Server VM

这不是在 Mac 上实现的吗?还是我需要配置一些东西?

我需要做的就是获取并设置页面上表单元素的值,所以如果效果更好的话,我可以使用较旧的(6u10 之前的)API。

4

3 回答 3

2

在这个线程中找到了答案:

Mac 上的 Java 6 确实包含 Plugin2,但它不是默认的。您可以通过选中“在自己的进程中运行小程序”在 Java 首选项中启用它。

我将使用较旧的 API 以获得更好的兼容性。

于 2011-01-05T10:27:04.233 回答
0

根据发行说明http://www.oracle.com/technetwork/java/javase/index-135519.html不支持 mac。看看那个链接上的“支持的平台和浏览器”......我只能看到 Windows、Linux 和 Solaris。对他们不太好!

于 2011-01-05T09:41:48.000 回答
0

查看以下课程:

/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/lib/plugin.jar

在我的机器上是别名

/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/lib/plugin.jar

com.sun.java.browser.plugin2.DOM 类确实存在那里。

在您的机器上可能会有所不同,因为我安装了额外的开发人员 JDK 包,而大多数机器只有 JRE。如果您尚未安装所有最新的 Apple Java 更新,您的计算机上的路径也可能不同。Apple 在上次 Java 更新中对 JVM 的文件系统位置进行了更改。

于 2011-01-05T10:49:47.547 回答