在这个过程中里重启过计算机没有?对classpath的设置是要重启后才起作用的

解决方案 »

  1.   

    你的问题说的好复杂,其实就是一个class路径的问题,搞清楚后,也没什么
      

  2.   

    我明白啊,问题是我的classpath设置应该是对的,但是就是不行,非要到用到的包里编译一次,然后在任何地方用到这个包的类就都可以了,不去到引用的包里编译一次,就是不行!!我也很奇怪怎么会这样呢??
      

  3.   

    复制一个 Hello.java为 Hello2.java编译试试
    肯定也是可以运行的
    那就不奇怪了吧
      

  4.   

    2K下面注销的话,classpath的设置就能生效
      

  5.   

    楼上大哥!
    我机器上java的设置都很正常,编译、运行都很正常,机器上同时装了jb和eclipse,现在发现了一个问题:
    假如我在D:\Test\com\study下放了自己的文件,如MyClass,根据目录都放在com.study包下(MyClass.java的头写上了 package com.study),编译好后,在ClassPath里加上了D:\Test,然后我在E盘根目录下写了个测试文件E:\Hello.java, 里面导入了com.study这个包来做测试,import com.study.MyClass;然后我在命令行下: D:\>javac Hello.java 结果说找不到包com.study ??不是说在classpath里设置好后就可以吗?~~~~~~~~~~~~~~~~~~~包文件、目录:
    D:\Test\com\study\MyClass.java
    Classpath已加上:D:\Test; classpath最前面也加“.;”了,设置应该是正确的,因为我平时编译、测试都很正常;
    测试文件在:
    E:\Hello.java后来我把Hello.java放到D:\Test下,我想这下是相同的目录,应该可以了吧?
    编译: D:\>Test javac Hello.java 正常
    运行: D:\>Test java Hello 也正常了然后,奇怪的事情发生了!!!
    我再一次的把E:\Hello.java(注意,是包外面的那个)编译,也正常了!!运行,也正常!!然后,~~~~~~~~~~~~~~~我把D:\Test下面的那两个Hello.java,Hello.class都删掉,再一次编译
    E:\Hello.java,正常!!运行,正常!!!!到底是怎么回事???为什么开始不行,当我把文件放到和包文件相同的目录下编译后,其他地方导入这个包的编译也行了??我觉得你说的好复杂有点矛盾
    E盘的文件怎么在d盘 编译
    是不是你打错了?
    你第一次编译Hello.java 这个文件的时候
    Hello.java 这个文件放在什么地方?
      

  6.   

    2k下面改变classpath其实只要退出所有的cmd窗口,再进去就可以了。
      

  7.   

    to  sibuliao(尚勇军) :
    你没明白我的意思啊,我是说我在d盘放了一个包,然后在e盘有个测试文件要用到这个包,但是怎么都不行,后来把e盘的那个测试文件放到d盘的包里编译,结果行,然后重新在e盘编译测试文件,竟然也行了!!在其他任何地方的不同文件,只要是用到这个包的,以前编译不过,现在竟然都奇迹般的行了!!