如何在 Ubuntu 上使用 Pearson 的 ePEN java 小程序?

如何在 Ubuntu 上使用 Pearson 的 ePEN java 小程序?

我使用名为 e-PEN 的 Java 小程序在线为 Pearson 评分本网站。“最低系统要求”指出仅支持 Vista 或更高版本的 Windows 以及 Internet Explorer 9 或更高版本。

我正在使用 Ubuntu 16.04,我相信“最低系统要求”的正确解释是,这些是我在联系 ePEN 帮助台时可以获得帮助的条件。

如何让 ePEN 在 Ubuntu 中运行,最好使用 Firefox?


奖金部分:我已经使用 Oracle Java 8 回答了我自己的问题(见下文),但我更愿意只使用 FOSS。我已经卸载了 Oracle Java,并在 OpenJDK8 和 IcedTea8 方面取得了很大进展。在我编写了一个详尽的 Java 安全策略(基本上是授予每个权限,我在缓慢的逐行过程中遇到了错误)并将其复制到swt.jar正确的目录中(如 Oracle 修复程序中所示)后,小程序确实启动了所有功能。但是,我总会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 库 jar 相同的目录中,但这没有效果。我还收到了错误NoClassDef和更下方的连接拒绝错误(在致命Interrupt错误已经抛出之后)。

我在网上找到的所有与这些错误相关的信息都是关于如何从另一个角度(作为开发人员)阻止它们发生。我很想放弃,但仍然希望有人能有所了解 :)

答案1

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

64 位系统的步骤 3:转到 exam2score 网站,登录,单击标记学生答案,然后单击“激活 Java”,对弹出的任何安全警告回答“运行”、“允许”等*。尝试运行小程序时,您会从 Java 控制台收到错误:“不满意的链接错误无法在 64 位 JVM 上加载 32 位 SWT 库”要解决此问题,请将文件复制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)来永久摆脱安全警告

(注:盯着以及几个小时的相关帖子帮助我解开了这个谜团)


2017 年评分会议的附加更新

对于我的一些论文,我被阻止登录:在登录页面,我会被重定向到浏览器健康检查,无法继续。原始错误是:

不支持此浏览器。您必须使用 Internet Explorer 11。

我通过安装 User-Agent 切换器插件并将用户代理设置为 Microsoft Windows 上的 Internet Explorer 来解决这个问题。但是,我仍然遇到了重定向,现在出现了有关我的 Java 版本的投诉。我以一种不太优雅的方式解决了它:

  • 选择论文后,在重定向之前获取实际的登录页面地址(尝试截屏)。
  • about:config在 URL 字段中输入
  • 找到javascript:enable并切换为 false 以禁用 JavaScript
  • 打开新标签页并输入登录页面的 URL(例如https://wwb.exam2score.com/epen-webapp/jsp/login.jsp
  • 使用您的凭据登录。成功了,但是页面功能损坏了,因此...
  • 返回你的about:config标签页并切换javascript:enable为 true
  • 返回您的 exam2score 标签并刷新页面。

答案2

2018 年更新:只想说这个方法又起作用了:非常感谢!最初出现了一个小故障,可能是由于去年夏天以来我的系统更新造成的。应用64 位系统的步骤 3上面的技巧就成功了。

我决定使用海猴子因为它似乎不需要太多的适应和调整。它还避免了使用 Firefox 作为我的主要浏览器,并且不必单独使用Firefox ESR适用于 ePen。但是,第 3 步修复意味着 Firefox ESR 和 SeaMonkey 都可以正常工作。

也许不久的将来,期待已久的独立于浏览器的 ePen 2 将避免这一切!

相关内容