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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 温暖的小白 金牌黑马   /  2015-3-9 21:17  /  1207 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


刚开始学JAVA基础,看毕向东的基础视频时有一个环境变量配置问题,说可以配置path这样无论是在哪个盘下都可以直接启动JVM,或者配置classpath使得在任意目录下都能执行Java程序,那么问题来了,在执行javac时,能不能也定义一个路径使源文件在任意路径下都能编译并生成class文件?

我很菜,可就是想知道这个问题,求嘲笑,求解答

3 个回复

倒序浏览
你看毕老师每次都是进入指定目录后在开始生成class文件就知道不行了哦
回复 使用道具 举报
path环境变量是系统环境变量中的一种,它用于保存一系列的路径,每个路径之间以分号分割。当在命令行窗口中运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在,会继续在path环境变量中定义的路径下寻找这个文件,如果仍未找到,系统会报错。由于“java”命令和“javac”命令位于同一个目录bin中,因此在配置完path环境变量后,同样可以在任意的路径下执行“java”命令。

classpath环境变量也用于保存一系列的路径,它和path环境变量的查看和配置方式完全相同。当java虚拟机需要运行一个类时,会在classpath环境变量中所定义的路径下寻找所需的class文件。

path与classpath的区别:
path:先在当前目录下找,没找到,再到path环境变量配置路径中找,还未找到,就报错。——先目录后路径。
classpath:先查找配置路径,再在当前目录路径下查找,没找到且无分号,则报错,有分号再在当前根目录路径下查找。先路径后目录。

因此,如果你想任意路径下都能编译java文件并生成class文件,是不可行的,只有在java文件所在的目录下才可以编译并生成class文件。即使假设可行,那么生成class文件会分布在任意目录下,文件管理起来也不是很方便。
回复 使用道具 举报
弹剑高歌踏浪行 发表于 2015-3-10 17:42
你看毕老师每次都是进入指定目录后在开始生成class文件就知道不行了哦

我就是想有这样的方法就好了,看来是我想多了,这样不行吧,还是得先进去当前目录,呜呜!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马