一些用户报告了我们的 Java 小程序的 ClassNotFoundException
错误,但其他用户可以毫无问题地使用该小程序。
我们观察到该问题似乎与系统的操作系统有关。
能够成功使用该小程序的用户拥有较新的计算机,而不能成功使用该小程序的用户使用的是 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>
最佳答案
会不会是不同版本的 Windows 上的 Java 版本不一致?我看过的这些其他地方似乎也有类似的问题,结果是使用了错误的 Java 版本。错误消息本身似乎是指缺少组件。
关于java - 某些计算机上的小程序的 ClassNotFoundException 而不是其他计算机上的小程序 - 与操作系统有关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22548335/