JDK的不同版本测试过了吗?
从JDK 1.1.6
到JDK 1.5.0

解决方案 »

  1.   

    Java规定不能使用中文作类名和接口名,不过没说不能做包名。
    但是这也不大好,因为不同系统对中文的支持不同,如果系统不支持中文文件名,或者不适用Unicode做中文的编码格式恐怕就要出问题。有没有试过Linux和Unix系统
      

  2.   

    我测试过的JDK版本有:
    一、1.4.2_06-b03支持
    Z:\Yu_Limin\Java\JavaSocket编程>java -version
    java version "1.4.2_06"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
    Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)Z:\Yu_Limin\Java\JavaSocket编程>java 中文包.GetClassPath
    ClassName:中文包.GetClassPath
    PackageName:中文包
    ClassFileName:GetClassPath
    file:/Z:/Yu_Limin/Java/JavaSocket%e7%bc%96%e7%a8%8b/中文包/GetClassPath.class
    Z:/Yu_Limin/Java/JavaSocket编程/中文包二、1.4.2_04-b05支持
    F:\Borland\JBuilder\jdk1.4\bin>java -version
    java version "1.4.2_04"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
    Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)Z:\Yu_Limin\Java\JavaSocket编程>cd F:\Borland\JBuilder\jdk1.4\bin
    Z:\Yu_Limin\Java\JavaSocket编程>F:java 中文包.GetClassPath
    ClassName:中文包.GetClassPath
    PackageName:中文包
    ClassFileName:GetClassPath
    file:/Z:/Yu_Limin/Java/JavaSocket%e7%bc%96%e7%a8%8b/中文包/GetClassPath.class
    Z:/Yu_Limin/Java/JavaSocket编程/中文包三、1.5.0_01-b08支持
    E:\J2SDK\1.5.0\bin>java -version
    java version "1.5.0_01"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
    Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing)Z:\Yu_Limin\Java\JavaSocket编程>E:\J2SDK\1.5.0\bin\java 中文包.GetClassPath
    ClassName:中文包.GetClassPath
    PackageName:中文包
    ClassFileName:GetClassPath
    file:/Z:/Yu_Limin/Java/JavaSocket%e7%bc%96%e7%a8%8b/%e4%b8%ad%e6%96%87%e5%8c%85/
    GetClassPath.class
    Z:/Yu_Limin/Java/JavaSocket编程/中文包四、JDK-1.2.2_017的不支持!!!
    Z:\Yu_Limin\Java\JavaSocket编程>Z:\JDK1.2.2\bin\java -version
    java version "1.2.2"
    Classic VM (build JDK-1.2.2_017, native threads, symcjit)Z:\Yu_Limin\Java\JavaSocket编程>Z:\JDK1.2.2\bin\java 中文包.GetClassPath
    Exception in thread "main" java.lang.NoClassDefFoundError: ?????/GetClassPath五、1.3的没有测试过
    谁补充一下:)
      

  3.   

    以上测试均在Windows系统下面的哦,没有在其它平台上面测试过
      

  4.   

    倒没有想过用中文作为package名,不过考虑到绝大部分应用都是在linux或者unix下面,所以就算想用也不用了,免得有问题发生。
      

  5.   

    不过,我想很少人用中文名来作包名的吧JDK的版本越来越高支持了而已可能核心上面有改变,要不然1.2.2的都不支持中文包名