我的一个类中使用了四个匿名类,
使用JDK1.5编译时出现5个CLASS文件(CLASS中分别为4个匿名类和主类),类可以正常使用,在JDK1.4下编译它总是提示我版本过低,不能正常使用

解决方案 »

  1.   

    错误提示;
    1.弹出窗口提示:
    could not find the main class. program will exit控制台提示
    java.lang.UnsupportedClassVersionError: com/koal/KoalException (Unsupported major.minor version 49.0)
      

  2.   

    这是因为你的JDK1.5编译,但是使用JDK1.4来运行这个类。你必须使用JDK1.4来编译
      

  3.   


    肯定不是这个问题,
    我使用JDK1.4之后把所有的JAVA文件全部重新编译了,我查看了这5个.CLASS文件,里面提示的版本都是002E,代表是47,不是version 49.0
      

  4.   


    JDK使用教程http://www.130132.cn/0_12_214479.aspx
      

  5.   

    com/koal/KoalException (Unsupported major.minor version 49.0) 
    说明这个KoalException明显版本是49,所以非常肯定是你编译时的JDK是1.5;又或者JDK找到的com/koal/KoalException.class类并不是你想象中的位置,在另外一个目录中存在49版本的类文件
      

  6.   

    是啊,提示是49,但是我的.CLASS文件中是002E,明显是47啊,我在整个工程中搜索了,CLASS文件也就这一个啊,具体的JDK设置我都设置正确了
      

  7.   

    你可以先写一个简单的类,测试一下是否还有问题
    如果没有问题,你写那个简单的代码中调用System.out.println(this.getClass().getResource("/com/koal/KoalException.class"));就可以找到目前找到的类在哪里目录中了
      

  8.   

    我写了个简单的HELLOWORLD是没有问题的,但是就是这个类不行,这个工程中其他的类换到JDK1.4都是可以的,只有这个使用了匿名类的类出现这个问题
      

  9.   

    问题解决了,谢谢大家,其实问题是由于这个类中调用了一些JDK1.5的JAR包引起的,
    把JAR修改为JDK的之后就好了
      

  10.   

    是啊,没办法啊,他要是编译不过我也不会想起来啊,但是这个编译时没问题的,只有在调用JAR的方法时才出现错误的