设置了环境变量PATH,在任何路径下都可以用javac java命令,编写了Hello.java,放在 E:\javacode目录下,结果出现了这样的情况:
运行下面的命令:
javac -cp e:\javacode\  Hello.java在E:可以,在C:  D:  下运行均出现错误:
javac 找不到文件 Hello.java这到底是什么原因呢?
谢谢!

解决方案 »

  1.   

    -cp参数是运行*.jar文件的,和你的路径没有关系
      

  2.   

    javac -cp e:\javacode\  Hello.java -cp e:\javacode\的意思是classpath是e:\javacode\,路径是e盘,需要换成c盘或者d盘的路径
      

  3.   

    知道path和classpath的区别吗?
    path指定编译工具等的路径,就是指定JDK中的BIN文件夹就是东东,classpath指定类所在的目录
      

  4.   


    2楼的朋友,Hello.java 本来就是放在E:盘的呀!3楼说的对,  Hello.java就是放在e:\Javacode 的,就是类所在的目录,那么按理说无论在C  还是在D 盘运行这个命令都应该没有问题的呀!但实际是在E下运行没问题。
      

  5.   

    在你path设置正确的前提下:你编译后的.class文件在哪里,就到哪里去运行噢。
      

  6.   

    不管 CLASSPATH 是什么,你的 javac 后的文件名都必须是全文件名,编译器才能找到这个文件。而对于这个文件中引用到的其他类,编译器才会到 CLASSPATH 所指的路径中去找。
      

  7.   

    参见:http://topic.csdn.net/u/20091004/14/e9bb021b-98c0-48b4-8910-1ae6fb08e480.html
      

  8.   

    环境变量问题啊,,你要把你的.class所在地放到classpath
      

  9.   

    这样应该没问题 把“E:\javacode”放在classpath里  编译好的.class文件应该在这个目录里卖弄
    你在E盘或者别的盘  应该直接java 文件名.class
    你当然不能再编译 再编译就需要当前文件夹下有源文件
    不过可以直接再别的盘运行 程序直接运行的时候 程序会自动在classpath目录下搜索相应的字节码文件
      

  10.   

    这样应该没问题 把“E:\javacode”放在classpath里  编译好的.class文件应该在这个目录里卖弄
    你在E盘或者别的盘  应该直接java 文件名
    你当然不能再编译 再编译就需要当前文件夹下有源文件
    不过可以直接再别的盘运行 程序直接运行的时候 程序会自动在classpath目录下搜索相应的字节码文件刚才那个不对 应该是直接java 文件名
      

  11.   

    在7楼朋友的帮助下,发现这样写就OK了
    javac e:\javacode\Hello.java 
    为什么javac -cp e:\javacode\  Hello.java 就不行呢?