环境变量为何只需要配置Path(Bin),而不需要配置CLASS_PATH和JAVA_HOME?

环境变量为何只需要配置Path(Bin),而不需要配置CLASS_PATH和JAVA_HOME?

传统CLASS_PATH和JAVA_HOME分别为什么配置?为何这里没有提到?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿莹 2018-11-29 10:20:27

1、CLASS_PATH不是必须配置的,举个例子:

假如你在D盘下有个hello.java文件。

你进到d盘后,javac hello.java 那么会在当前生成hello.class文件。

所以你java hello.class会得到相应的结果。

如果你设置了classpath是D:/myclasspath

你将hello.class剪切到D:/myclasspath中,你在d路径下执行java hello 照样可以得到结果。

因为规则是这样的:你执行java test的时候,先在test.java当前目录找test.class文件找不到再去classpath中找,这里是到D:/myclasspath中找。

一般编译时会编译到当前文件夹,也会直接去该文件夹找。

并且jdk6以后也不建议去配置CLASS_PATH了,(emmm。。官方说JDK1.5以后不用配置了~具体为啥,应该是他们做了某些优化吧)

2、

同学说的对,JAVA_HOME是否配置其实是看个人选择的,可以配置也可以不用配置,没有影响的。如果同学觉得配置比较方便的话,也可以自己配置一下呦。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


好帮手慕雪 2018-11-28 11:07:14

在以前,JAVA_HOME也可以不配制的,配制它的原因是,CLASS_PATH和PATH都有共同的一个目录部分,为了书写方便,所以才配制的JAVA_HOME,而CLASS_PATH和PATH配制时引用JAVA_HOME,这样方便一些。以后如果不配置classpath:那么输入java HelloWord时,可能会提示找不到类的错误(由Java程序提示)。人类在进步,而生产工具的企业也好,公司也好,他们也是有梦想的,也在更新升级,只会变得越来越人性化,配制越少越方便嘛。祝:学习愉快

  • 提问者 宝慕林1586143 #1
    传统CLASS_PATH和JAVA_HOME分别为什么配置,这个我回忆了一下,应该是: 1.CLASS_PATH指向JDK的lib目录,使得在运行JAVA代码时,加载到对应的.class文件。我理解的是,这个CLASS_PATH是必须配置的,对吗? 2.JAVA_HOME你讲的我明白了,是说可以省略bin和lib一些共同的路径,不用每次都敲很长的路径而已。这个可以有选择的配置(即可以配置PATH和CLASS_PATH时手动写全,C:/java/jdk8.0_130/...也可以用这个JAVA_HOME直接替代,对吗? 3.你提到的“人类在进步这个,配置越少约方便”,我是赞同的,不过具体配置哪个可以省略,PATH是一定要配置的,那么省略的是JAVA_HOME?(不是说为了书写方便要配置吗),还是CLASS_PATH?(见问题1) 盼回复,谢谢
    2018-11-28 19:56:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师