A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cleader 高级黑马   /  2014-9-10 22:08  /  1253 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 cleader 于 2014-9-10 22:47 编辑

同学们:        我在看自学视频第78集的时候 我有点糊涂了,毕老师说在DOS中set classpath=.;c:\myclass  就可以让javac、java在本地和myclass执行,如果没有“.”的话就只能在myclass里执行。 毕老师在这一集里举了一个例子,两个class文件 在两不同的位置,其中一个在myclass文件夹里  另一个在本地而且有它的java文件。  第一次演示的时候是这样设置的set classpath=c:\myclass 然后执行javac 编译通过,但是java运行出错。第二次set classpath=.;c:\myclass 这一次多设置了一个点 现在javac和java都通过了。

        我不明白的地方是为什么第一次设置的时候javac可以通过,java却出错了(为什么javac可以执行本地的,java就不能执行本地的)。难到classpath对javac和java的要求不一样?
        请高手指点,谢谢!

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
这就是java比较坑爹的一面了。它在编译时不强制你的源文件和class文件在文件系统中的位置和源代码中写的package语句保持一致。但却在运行时按package指定的文件夹结构去搜索class文件
回复 使用道具 举报
fantacyleo 发表于 2014-9-10 22:21
这就是java比较坑爹的一面了。它在编译时不强制你的源文件和class文件在文件系统中的位置和源代码中写的pac ...

十分感谢!交个朋友吧,我在论坛加你了
回复 使用道具 举报

path环境变量
为了在任何位置都能使用javac、java命令,需要配置path环境变量;
系统会先在当前路径去找,如果没找到就去path环境变量中配置的路径去找;
配置path环境变量的两种方式;
classpath环境变量
为了使java工具在任何位置都能找到class 文件,可以将class文件的路径配置在classpath环境变量中;
java工具会先找classpath,如果没有再找当前目录;如果想让java工具先找当前目录,可以在classpath前加“.”;一般开发中不会去配置classpath环境变量,以防多个个文件夹存在同名.class文件导致运行结果错误
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马