Как я могу использовать апплет Pearson ePEN java на Ubuntu?

6

Я отмечаю экзамены для Pearson онлайн с помощью апплета Java под названием e-PEN на на этом сайте . «Минимальные системные требования» указывают, что поддерживаются только Vista или более поздние версии Windows и Internet Explorer 9 или более поздней версии.

Я использую Ubuntu 16.04, и я считаю, что правильная интерпретация «минимальных системных требований» заключается в том, что это условия, при которых я могу рассчитывать на помощь, когда я обращаюсь в службу поддержки ePEN.

Как я могу сделать работу ePEN в Ubuntu, желательно с помощью Firefox?

Бонусный раздел: Я уже ответил на свой вопрос (см. ниже) с использованием Oracle Java 8, но я бы предпочел использовать только FOSS. Я удалил Oracle Java и добился больших успехов в OpenJDK8 и IcedTea8. После того, как я написал сложную политику безопасности java (в основном предоставляя каждое разрешение, я получил ошибку в медленном поточном процессе) и скопировал swt.jar в правый каталог (как в исправлении Oracle), апплет делает START со всеми функции. Однако в течение нескольких секунд я всегда получаю InterruptedException :

Caused by: java.lang.InterruptedException
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
at
    sun.applet.PluginAppletViewer.requestPluginCookieInfo(PluginAppletViewer.java:1266)

(или то же самое с .requestPluginCookieInfo ), из-за чего апплет останавливается. При запуске firefox в терминале я также вижу эти две ошибки каждый раз:

java.io.FileNotFoundException: https://path/to/applet/parent-url/xbean.jar
java.io.FileNotFoundException: https://path/to/applet/parent-url/tiny_mce_3.5.10.zip.pack.gz

Если я попытаюсь перейти к реальным URL-адресам или wget , я получаю ошибку 404 Not Found , поэтому я думаю, что этих ресурсов просто нет. Я попробовал загрузить xbean.jar , который я ввел в тот же каталог, что и банкомат библиотеки swt, но это не повлияло. Я также получаю ошибку NoClassDef и ошибку Отклонения соединения далее вниз (после того, как уже произошла ошибка со смертельным исходом Interrupt ).

Вся информация, которую я нахожу в Интернете, касающейся этих ошибок, заключается в том, как остановить их с другой стороны, как разработчика. Я искушаюсь сдаться, но все еще надеюсь, что у кого-то будет ключ:)

    
задан Zanna 29.04.2016 в 10:49
источник

1 ответ

5

Обновление сезона маркировки 2017 года

Так как Firefox отказался от поддержки плагинов , вам нужно загрузить Firefox ESR ( Расширенная версия поддержки) . Я рекомендую использовать это только для запуска ePEN. Предполагая, что вы загрузили его в "Загрузки", запустите

cd ~/Downloads
tar xf firefox*
cd firefox
./firefox

Когда будет предложено "установить Firefox как браузер по умолчанию", я рекомендую указать "Нет". Запустите эту версию, а не глобально установленную, она по-прежнему будет использовать и обновлять ваш профиль, поэтому вы не увидите большой разницы с вашим обычный опыт работы с firefox.

Следуйте первоначальному ответу, как показано ниже.

У меня есть рабочее решение (протестировано в 64-битных системах: Ubuntu 16.04, Xubuntu 16.04 и Ubuntu MATE 16.04), но мои попытки сделать работу апплета с использованием OpenJDK-8 и плагина IcedTea-8 не увенчались успехом. Если кто-то может найти метод, который позволяет избежать использования Oracle Java, это будет большим улучшением в этом ответе.

Я только тестировал это исправление в Firefox - прокомментируйте с информацией о том, как он работает в других браузерах

Шаг 1 : установите Oracle Java , например, используя этот ppa (я использовал версию 8):

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Шаг 2 установить необходимые библиотеки

sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java

Шаг 3 для 64-разрядных систем . Перейдите на сайт exam2score, войдите в систему, нажмите кнопку "Отметить ответы ученика" и затем "активируйте java", отвечая "run" и "allow" и т. д. на любые предупреждения о безопасности это всплывающее окно *. При попытке запустить апплет вы получите сообщение об ошибке с консоли java: "Неудовлетворенная ошибка связи не может загружать 32-разрядные библиотеки SWT на 64-разрядную JVM". Чтобы исправить это, скопируйте файл swt-gtk-3.8.2.jar в нужное место:

sudo cp /usr/lib/java/swt* /usr/lib/jvm/java-8-oracle/jre/lib/ext

Шаг 3 для 32-разрядных систем: (не тестировался, поскольку я могу загружать только 64-разрядный Ubuntu, но понял из моего первоначального процесса. Прокомментируйте, если вы протестировали): Загрузка апплета с сообщением с консоли java: "не удалось загрузить библиотеки" с помощью пути по линиям /home/(username)/.swt/lib/linux/x86 , вы можете исправить это, сделав эту символическую ссылку:

sudo ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

* вы можете избавиться от предупреждений о безопасности на постоянной основе, указав Firefox, чтобы всегда разрешать java для запуска на этой странице и путем установки исключения сайта в параметрах безопасности панели управления Java (поиск Java в тире)

(Примечание: смотрите и this и связанные с ним должности в течение нескольких часов помогли мне разобраться в этой тайне)

Дополнительное обновление для сеанса маркировки 2017

В некоторых моих документах мне не удалось войти в систему: на странице входа я был бы перенаправлен на проверку работоспособности браузера и не смог продолжить. Исходная ошибка:

  

Этот браузер не поддерживается. Вы должны использовать Internet Explorer 11.

Я обошел это, установив надстройку переключателя User-Agent и установив пользовательский агент в Internet Explorer в Microsoft Windows. Тем не менее, я все еще получил перенаправление, теперь с жалобой на мою версию java. Я обошел это безрезультатно:

  • после выбора бумаги возьмите фактический адрес страницы входа перед перенаправлением (попробуйте сделать снимок экрана).
  • введите поле about:config в поле URL
  • найдите javascript:enable и переключите его на false, чтобы отключить JavaScript.
  • откройте новую вкладку и введите URL-адрес страницы входа (например, https://wwb.exam2score.com/epen-webapp/jsp/login.jsp )
  • выполните вход с вашими учетными данными. Это удается, но функции страницы не работают, поэтому ...
  • вернитесь на вкладку about:config и переключите javascript:enable на true
  • вернитесь на вкладку exam2score и обновите страницу.
ответ дан Zanna 29.04.2016 в 10:49