"ScriptModel.java": cannot access java.util.TreeMap; bad class file: C:\Program Files\Java\jdk1.6.0_20\jre\lib\alt-rt.jar\java\util\TreeMap.class, class file has wrong version 50.0, should be 49.0, Please remove or make sure it appears in the correct subdirectory of the classpath. at line 6, column 18开发工具是jbilder,jdk是1.6.0_20,我在JBilder的工程属性里,把Target VM调成了“All Java SDKs”还是不行。请问这个问题该怎么解决? 

解决方案 »

  1.   

    TreeMap在5.0以前是非泛型的,5.0以后是泛型的,你的代码是怎么写的?
      

  2.   


    private final Map<String, Script<G, A, R>> scripts = new TreeMap<String, Script<G, A, R>>();
    这样写的。这个工程在笔记本上是没有问题的,同样是jdk1.6.0_20,我把src拷贝到台式机就出现这样的问题了。另外,TreeMap也提示同样的问题。
      

  3.   

    那就不是你src的问题了,估计是JBuilder的问题至于解决问题,那不好说了
      

  4.   

    晕,上面说错了,是HashMap也提示同样的问题。
      

  5.   

    以前我把traget vm调成all java skds就都好了,这次无论如何都不行
      

  6.   

    问题是你在旧版的JDK里使用新版本的类库。
      

  7.   

    version 50.0, should be 49.0选择的jre要与Compiler compliance level一致。
    eclipse,在window->Preferences->java->compiler修改。Good Luck.
      

  8.   


    旧版的JDK?旧版的就只有JBuilder2006自带的一个jdk1.5了,可我并没用啊!
    该怎么做才能解决这个问题?
      

  9.   

    拜托请你看清楚了,我用的是JBuilder!Eclipse的设置管屁用啊!
      

  10.   

    现在的JBuilder用户没那么多了。你用 jdk6u20 把 jbuilder自带的 1.5 覆盖掉
      

  11.   


    而且JBuilder2006都运行不了了!
      

  12.   

    除了改动:"Tools" ——> "Configure" ——> "JDKs..." ,还要改动
    “Projects -->Default project propertities -->Paths -->JDK” 
      

  13.   

    都没说对啊!我把jdk1.6下的那个alt-rt.jar拷贝到jbuilder的jdk目录下,覆盖原来那个就好了