黑马程序员技术交流社区
标题:
classpath 使用问题
[打印本页]
作者:
李大伟
时间:
2011-11-20 21:26
标题:
classpath 使用问题
本帖最后由 李大伟 于 2011-11-21 17:01 编辑
我设置classpath=E:\java\day01 为什么我在命令提示行 c:\users\lidawei> 运行javac VarDemo.java 提示jvavc 找不到文件 VarDemo.java 呢
而必须切换到 E:\java\day01 目录下才能找到呢
作者:
肖岑锋
时间:
2011-11-20 21:56
你弄错了,Javac编译命令时是系统根据Path环境变量进行查找命令的。Java运行命令行才是Java虚拟机根据ClassPath环境变量查找保存的类所在的目录。你应该把先在E:\java\day01下javac VarDemo.java编译,然后可以在其它目录比如:c:\users\lidawei>进行Java VarDemo就对了。
作者:
xiwangliujiao
时间:
2011-11-20 23:32
javac是通过设置path来应用的,而java是通过设置classpath来应用的,而且,在编译时往往先从当前目录开始查找,找不到再从path设置的对应目录中查找,运行时不从当前目录查找,直接从classpath设置的目录对应查找,希望对你有帮助,
作者:
赵超
时间:
2011-11-21 00:15
javac是找的是从path设置的路径开始查找,如果没有再转到当前目录进行查找。classpath不是为javac提供类查询路径的,它是运行java命令时查找.class文件时的查询路径。比如你在当前目录下进行编译,你把.class文件拷到d:\下面,你把classpath设置在d:\目录下,进入d:\目录也能运行。如果你拷贝另一份.class文件,文件名相同,那么运行的结果就不相同了。
作者:
李晓斌
时间:
2011-11-21 01:12
楼上几位已经说的很详细了,设置classpath的目的是让java虚拟机找到所需要的类库,即虚拟机先去classpath路径下去寻找有没有所需要的class文件,所以你在E:\java\day01 目录下运行,即"javac VarDemo.java",然后再"java VarDemo",这样就没问题了。另外,关于classpath路径的配置问题,最好把当前目录放在配置的最前面,只要加上",;"就行了,这样运行起来会比较方便
作者:
804404980
时间:
2011-11-21 05:42
你可以在环境变量里新建个 E:\java 然后再path里面 在设置 %新建名%\day01 , %新建名%\day02
或者直接在path 里面设置 E:\java\day01 然后你新建了day02 03 04 的时候再在path里面加入E:\java\day02 。 其实 这个你可以不用设置的 每次手动进入 E:\java\day01 里面好了, 只要设置bin 目录就行了。 classpath 到别人的电脑里设置临时的变量 差不多用到
作者:
李大伟
时间:
2011-11-21 17:01
感谢楼上各位,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2