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 だけです。

これは、Firefox と Safari の両方を搭載した Mac 10.6 で実行されます。

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 クラスが存在します。

ほとんどのマシンには JRE しかありませんが、追加の開発者 JDK パッケージをインストールしたため、マシンによって異なる場合があります。最新の Apple Java 更新プログラムをすべてインストールしていない場合、コンピューターのパスも異なる場合があります。Apple は、前回の Java アップデートで JVM のファイルシステムの場所を変更しました。

于 2011-01-05T10:49:47.547 に答える