一些用户报告了ClassNotFoundException
我们的 Java 小程序错误,但其他用户能够毫无问题地使用该小程序。
我们观察到该问题似乎与系统的操作系统有关。
能够成功使用小程序的用户拥有较新的计算机,而不能成功使用小程序的用户使用的是 Windows XP Home SP3。我们通过在浏览器中输入小程序 URL 来验证直接下载小程序的能力。防火墙似乎不是问题。
我们要求每个人都使用 Chrome 将浏览器作为变量删除。
我们是否需要以不同的方式对小程序进行签名或在 HTML 中以不同的方式引用小程序?
我们知道该applet
标签已被弃用,但这并不能解释为什么它会为某些用户而不是其他用户生成此错误。
另一个相关细节:如果您直接使用 IP 地址,而不是域名,则小程序可以正常加载。
复制:
1) 访问http://www.cengraving.com/s/item?itemId=CH003
2) 点击自定义。
3) 在 XP 机器上,页面生成ClassNotFoundException
错误提示com.designapplet.ui.DesignApplet
未找到。(我们也参考过com.designapplet.ui.DesignApplet.class
,但这也失败了。)
4) 如果您再次尝试 IP 地址,小程序在相同的 XP 机器上加载正常:67.212.167.170/s/item?itemId=CH003。我们可以使用 www.cengraving.com/SecureApplet.jar 直接从浏览器加载小程序,因此防火墙规则似乎不是问题。
HTML:
<applet name="app" archive="/SecureApplet.jar" code="com.designapplet.ui.DesignApplet" width="770" height="800">
<param name="itemId" value="CH003">
<param name="layoutId" value="CH0031395363931437.lay">
<param name="process" value="Engraving">
<param name="qty" value="1">
<param name="id" value="171">
<param name="sessionId" value="3BF3610C74B4BB5CC5193E479CD1D930">
(HTML)
</applet>