0

我有一个使用 jZebra 小程序打印到票据打印机的 Web 面板。在 Java 1.6.29 下一切正常,但在更新到 1.7.10 后,小程序加载失败并出现 jZebra.PrintApplet.class ClassNotFoundException。加载小程序的 Html 如下所示:

...
<p>
<applet name="jZebra" code="jzebra.PrintApplet.class" archive="./jzebra.jar" width="100" height="100"></applet>
</p>
...

jzebra.jar 与 html 文件位于同一文件夹中。

你知道可能是什么问题吗?

4

2 回答 2

1

我建议更新到 qz-print 1.8.0 并使用 JNLP(或新提供的小程序标签)来部署小程序。如果您选择保留小程序标签,我建议您更新它们,因为它们多年来发生了很大变化:

<applet id="qz" archive="./qz-print.jar" name="QZ Print Plugin" code="qz.PrintApplet.class" width="55" height="55">
    <param name="jnlp_href" value="qz-print_jnlp.jnlp">
    <param name="cache_option" value="plugin">
    <param name="disable_logging" value="false">
    <param name="initial_focus" value="false">
</applet>

或者如果您需要保留旧的“jzebra”名称

<applet name="jzebra" archive="./qz-print.jar" code="qz.PrintApplet.class" width="55" height="55">
    <param name="jnlp_href" value="qz-print_jnlp.jnlp">
    <param name="cache_option" value="plugin">
    <param name="disable_logging" value="false">
    <param name="initial_focus" value="false">
    <param name="printer" value="zebra">
</applet>

此外,我建议完全删除所有版本的 Java 并重新安装 Java 7,因为它在升级过程中存在多个问题。

根据我的经验,Java 7 的 10 次升级中约有 1 次中断。有一些解决方案,但对我来说最有效的是卸载所有以前的版本,重新启动并恢复 Java 7。请理解这不是正常的“您是否尝试过先卸载”赞助,这是安装程序/升级的问题过程中,我们有许多客户花费数小时试图让我们的小程序加载,结果发现 Oracle 测试页面甚至无法正常工作。

此外,Java 7 也有很多变化。尤其是它处理 JNLP 的方式。一些旧版本的 Java 6 没有适当的 JNLP 支持,因此需要 .class 参数作为 applet 标记的一部分。

更令人沮丧的是,对于像 jzebra 这样的免费小程序,Oracle 会阻止自签名小程序在更新的 Java 版本中运行。这是在早期的 Java 7 版本中引入的警告,它们被 7u51 完全阻止。

但是还有更多... 在 7u21 中,如果检测到您的 Java 版本过时并且您的安全设置设置为高,Oracle 决定阻止 JavaScript (LiveConnect)。(高是默认的顺便说一句)。如果您对什么是“过时”感到好奇,这可以通过计时器(Java 版本发布后 3 个月)或查看 Oracle 站点(即新版本可用)来确定。幸运的是,Java 7 u51 添加了白名单功能,以防止指定 URL 的这种 LiveConnect 阻止行为:https ://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in但必须为您使用 self 访问的每个 URL 添加它-签名的小程序和/或过时的 Java 版本。

注意: 您可能还需要将自签名证书安装到 Java 安全选项卡的“签名者 CA”部分,但这是您应该首先了解的安全风险,并且可能超出此问题的范围。

新版本的 jzebra 小程序(现在称为“qz-print”)对其中一些负载问题进行了一些检查,并提供了一个警报对话框来解决这些问题。它们可以在 sample.html 中看到。

请下载最新的打印插件和 Java 版本,然后访问http://qzindustries.com/support,我们一定会帮助您完成这项工作。

-特雷斯

于 2014-03-20T14:45:56.610 回答
0

尝试设置 jzebra.jar 相对于网站根目录的路径,例如 /dist/jzebra.jar。

它对我有用...

于 2013-02-08T11:00:47.330 回答