最近我们的两个客户报告了我们的applet问题。查看java插件控制台,它充满了ClassNotFoundException,因此我们的代码都没有被执行。
我已经能够使用磁盘上有0个可用空间的虚拟PC映像重现堆栈跟踪,但是当我恢复一些磁盘空间时,问题就消失了,并且用户告诉我他们的磁盘未满;他们能够创建新文件。
我们的applet需要java 6,问题出现了jre的更新1,10和14。我们还尝试了不同的浏览器(IE和Firefox),清除浏览器和java缓存,......
如何调试或跟踪jvm加载applet的内容?
我认为问题在于Windows上的某些安全指令,所以我使用Sysinternal的Process Monitor记录活动,但我真的不知道在哪里查看。
答案 0 :(得分:6)
Java缓存很可能搞砸了。在控制面板中打开Java并删除所有临时文件以查看它是否消失。
登录Java控制台以加载小程序可以启用,这有很大帮助(即使插件非常神秘)。见http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/tracing_logging.html
答案 1 :(得分:0)
我一直在查看JDK的插件源代码,我发现在设置环境变量JPI_PLUGIN2_DEBUG
的日志中还有其他调试信息。
不幸的是,我仍然只看到ClassNotFound
例外。
我发现了一段吞下所有异常的插件代码,所以也许我的用户问题就在那里......
答案 2 :(得分:0)
codebase
属性,则会以6u10 +失败。这对我们有用:
<applet name="DMGANTT" archive="DMGantt.zip" code="dm.applet.DMGanttApplet"
width='100%' height='100%' mayscript="mayscript">
答案 3 :(得分:0)
我们的一位客户遇到了类似的问题。我们发现在客户端上与代理配置相关的某些Java版本中存在一个奇怪的错误。有关详细信息,请参阅此文章
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6723715
另外,由于其他原因,我们的applet因新版本而失败。
现在,在类似的情况下,我要求他们检查javatester.org,以便我可以看到applet(通常)是否在浏览器中加载OK。如果该页面加载正常,则在我们的applet(或页面)上出现问题。否则,这是他们配置中的问题。无论如何,我帮助他们,但它更容易调试。