各位大虾,小弟初学JAVA,遇到点问题,还请各位不吝赐教,在下感激不尽。具体问题如下:"MainApp.java": cannot access com.huawei.eie.mmsapi.MMSendMng,bad class file: D:\MyJob\Item\lib\MMS.jar\com\huawei\eie\mmsapi\MMSendMng.class,class file has wrong version 49.0, should be 48.0,Please remove or make sure it appears in the correct subdirectory of the classpath. at line 9, column 17   MMS.jar是一个实现彩信发送功能包。   使用的开发环境如下: 
      开发工具:JBuilder X 
      jdk:1.4.2 
   开发环境配置: 
      Tools->configure Libraries->User Home->MMS.jar 
      Project->Project Properties->Paths 
           Required Libraries下页加入MMS库 

解决方案 »

  1.   

    class版本有问题!把class全部删除,重新编译!
      

  2.   

    MMS.jar 别人提供的包,如何重新编译,是否jdk环境造成的呢?
      

  3.   

    jdk:1.4.2 你的项目可以将jdk升级到1.5吗?
      

  4.   

    要注意:
    使用jdk1.4.2   生成的.class文件 版本是48.0
    使用jdk1.5     生成的.class文件 版本是49.0
    可以使用jdk1.4.2执行此.class文件就没有问题了
      

  5.   

    建议楼主把1.4.2的jdk升级到1.5
      

  6.   

    看你的错误提示:
        class file has wrong version 49.0, should be 48.0,Please remove or make sure it appears in the correct subdirectory of the classpath
      是说编译生的字节码文件的版本有问题,你可能真的要换个先版本的jdk了。现在jdk都升级到1.6几了,换个最新的试试了!
      

  7.   

    48.0 是 JDK 1.4 编译之后的 class 版本号,49.0 是 JDK 1.5 编译之后的版本号。也就是说现在使用 JDK 1.4 的 JRE 来运行 JDK 1.5 编译的 class 文件,那当然是不行的了。JRE 是向下兼容的,但不能运行比当前版本高的 class 文件。
      

  8.   

    如果只有 1.5 的编译器,可以这样将类编译成 1.4 版本的文件。[code=BatchFile]E:\test>javac -source 1.4 -target 1.4 Test.java[/code]当然了,这个文件中不能包含有 JDK 1.5 新增的类库、方法。
      

  9.   

    也不能含有 JDK 1.5 新增的语言特性,比如:泛型、变参、静态导入、foreach 循环、自动拆装箱等等。
      

  10.   

    用 JDK 1.4 的 JRE 来运行 JDK 1.5 编译的 class 文件,那当然是不行的了
      

  11.   

    MMS.jar用的jdk1.5
    你用的jdk1.4
    跑不了