Mac OS X: java.lang.ClassNotFoundException: com.sun.java.browser.plugin2.DOM

Я пытаюсь использовать новые функции LiveConnect, представленные в Java 6 Update 10.

Код выглядит следующим образом (скопировано из учебника апплета):

 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, если это будет работать лучше.

3 ответа

Решение

Нашел ответ в этой теме:

Java 6 на Mac включает в себя Plugin2, но он не используется по умолчанию. Вы можете включить его в настройках Java, установив флажок "Запускать апплеты в своем собственном процессе".

Я буду использовать старый API для лучшей совместимости.

Посмотрите на классы по:

/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 внесла изменения в расположение файловой системы JVM в своем последнем обновлении Java.

В соответствии с примечаниями к выпуску http://www.oracle.com/technetwork/java/javase/index-135519.html mac не поддерживается. Посмотрите "Поддерживаемые платформы и браузеры" по этой ссылке... Я вижу только Windows, Linux и Solaris. Не слишком мило с их стороны!

Другие вопросы по тегам