我的applet放在a应用的b目录下,应用时配置了log4j的,但是每次applet去连servlet的时候会先去连logger。如果在b下放个报错中提到的org包,就能正常运行了。但是我在servlet里没用到logger,有没有什么办法不让applet去连这个logger?这样就不用在b下放org包了。
这是控制台信息:
basic: 已注册原型监听程序
liveconnect: 调用 JS 方法:document
liveconnect: 调用 JS 方法:URL
basic: 正在引用类载入程序:sun.plugin.ClassLoaderInfo@fd54d6, refcount=1
basic: 已添加进度监听程序:sun.plugin.util.GrayBoxPainter@19f3736 
basic: 正在载入小应用程序...
basic: 正在初始化小应用程序...
basic: 正在启动小应用程序...
network: 正在使用代理 DIRECT 连接 http://x.xxx.xxx.xx:8080/a/someservlet
network: 正在使用代理 DIRECT 连接 http://localhost:8080/a/b/org/apache/log4j/Logger.class
network: 正在连接 http://localhost:8080/a/b/org/apache/log4j/Logger.class 与 cookie "JSESSIONID=EA428139D7BCA1C9E29EB1D855E38018"
java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredField(Unknown Source)
at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source)
at java.io.ObjectStreamClass.access$600(Unknown Source)
at java.io.ObjectStreamClass$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.<init>(Unknown Source)
at java.io.ObjectStreamClass.lookup(Unknown Source)
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at xxx.xxx.xxxx.xxx.init(xxxxxx.java:240)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
basic: 异常:java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger;

解决方案 »

  1.   

    另外,,不知道有谁碰到过在载入applet的时候,那个红色的进度条会一直到窗体的最右边的情况的?不知道怎么能变正常?
      

  2.   

    刚刚想起来或者能把 http://localhost:8080/a/b/org/apache/log4j/Logger.class中的localhost改成Ip也好,,要不然就没法在客户端运行了
      

  3.   

    把locahost改成ip只要设一下codebase就好了,但是原来的问题还是没解决。。
      

  4.   

    java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger
    主要问题是找不到这个类.
    因为这个类不是当前的classpath里面吧
    或者说这个包就没有装
      

  5.   

    哦,,类找不到的问题解决了。
    但是在载入applet的时候,那个红色的进度条还是会一直到窗体的最右边?不知道怎么能变正常?
      

  6.   

    哦,,现在类的问题已经好了
    就是在载入applet的时候,那个红色的进度条还是会一直到窗体的最右边
      

  7.   

    把原来在init的时候连servlet的代码放到start中,,进度条就正常了。