我是这样理解的 classpath配置的是.class文件的地址,我在D:\javacode路径下编译HelloWorld之后在这个路径下有HelloWorld.class 但我在classpath中配了.作为当前路径 那么在D盘下应该也可以编译运行HelloWorld 啊,为啥我在D盘下编译的时候说找不到HelloWorld.java 呢?求指点………………以前没用过命令行,现在已经完全懵了……

解决方案 »

  1.   

    . 指当前目录,在 D:\ 下运行, 当前目录是 D:\ , D:\javacode 不包括在内。
    现在java不需要配置classpath,当前目录已被默认加入了。
      

  2.   

    没有使用其他类库时,可以D:\javac javacode\*.java
    D:\java -classpath javacode {某个有main方法的类}
      

  3.   

    非常感谢 我再弱弱的问一句……
    就是说我编译时先要进入.java文件所在路径 D:\javacode,在这个路径下编译,那.class文件自然而然也在
    D:\javacode,如果我运行HelloWorld还是在 D:\javacode……那为什么还要在classpath中加当前路径呢?这不是多此一举么?
      

  4.   

    你在D:盘下运行HelloWorld,盘符是D,而你设置的.即当前路径就是指的现在的D盘了,而这个D盘里没有该.class文件的,你应该切换到该文件所存的目录即D:\javacode,切换目录用cd  D:\javacode,然后在运行就可以了
      

  5.   

    呃,你就转到D:\javacode\下去编译不就得了,要不就使用绝对路径吧。
    还有,若你的程序存在于某个包中的话,执行方法也不一样,直接java xxx是
    不行的。搜索下花点时间琢磨下,总得先能编译和运行吧。命令行不用懵,你熟悉下cd命令,知道什么是绝对路径、什么是相对路径就行了。
      

  6.   

    这个我觉得是为了以后的方便吧,如果以后更改了编译文件的目录。切换到该目录下可以编译该文件,但是运行时他会查找classpath,里面有设的是以前目录的路径吧,那样会又找不到class文件,只有把当前目录纳入到classpath中,省的以后更改目录重设吧
      

  7.   

    我大概懂了,貌似我们在使用javac 命令的时候产生了.class文件,这个.class文件是保存在.java文件的同一目录中的,而此时的当前目录就是指这个目录,在执行java命令的时候,要找到.class文件,那么肯定就是当前路径了,所以classpath要配置当前路径,可能有的时候还要涉及到其他的文件,那时候classpath的路径可能还要设置吧。谢谢各位了
    我是在这里查到了一些资料,各位有兴趣可以看看,再次感谢。
    http://blog.csdn.net/luinstein/article/details/5019806