HTML文件为
<applet   code="analyzer.c_analyzer.class"   archive="analyzer.jar" width="100%"   height="100%">   
</applet>
我的applet作成analyzer.jar包,入口是analyzer.c_analyzer.class,applet会引用第三方jfreechart包里的相关类。这在eclipse里运行正常,但是放在网页运行会出现如下错误,我不想将jfreechart包编译进applet中,太大了……,能不能在html文件里指定,具体该如何写?thanks!java.lang.NoClassDefFoundError: org/jfree/chart/labels/CategoryItemLabelGenerator
at analyzer.c_analyzer.<init>(c_TSAnalyzer.java:54)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.jfree.chart.labels.CategoryItemLabelGenerator

解决方案 »

  1.   

    <applet  code="analyzer.c_analyzer.class"  archive="analyzer.jar;jfreechart.jar" width="100%"  height="100%">  
    </applet> 
    analyzer.jar,jfreechart.jar放在同级目录。1.不过如果你的jfreechart.jar太大,会导致用户在使用applet的时候从服务器下载jfreechart.jar时间过长.
    2.提供两个解决方案,
       a.你可以把涉及到jfreechart.jar包的相关功能放到服务器上,做成servlet,然后在applet里面使用java.net包下url类访问此servlet拿到http的response,然后解析获取你自己需要的东西。
       b.把jfreechart.jar包的相关功能发布成一个webservice,在applet里面去调用这个webservice的方法.