请教java环境变量配置为什么要配置3个JAVA_HOME,PATH,CLASSPATH?

1、都是干什么用的?2、就配置一个行吗?比如就配置path... 1、都是干什么用的?
2、就配置一个行吗?比如就配置path
展开
 我来答
fuhaiwei
推荐于2017-07-06 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1387万
展开全部
path:作用在于当我们在控制台输入javac HelloWorld.java java HelloWord时,系统可以明白要到哪里去找javac,java命令,这个环境变量不是java独有的,其他程序也需要这个环境变量。

classpath:作用在于运行javac,java命令时,java程序可以知道要那哪里去找Java程序的源文件,以及字节码文件。

java_home:这个环境变量可以不配置。

所以,
如果不配置path:那么输入javac HelloWorld.java时,可能会提示找不到命令(由系统提示)。
如果不配置classpath:那么输入java HelloWord时,可能会提示找不到类的错误(由Java程序提示)。

要注意,最新的JDK已经可以不配置以上环境变量了,
现在最新的逻辑是,
如果不配置,可以到默认的地方找到所需的文件;
如果配置错误,那么运行错误。
如果配置正确,那么运行正确。

所以如果你会配置,那么你就配置;如果你还不清楚,那么你可以不配置。
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
掌心童话
2013-02-15 · TA获得超过291个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:55.4万
展开全部
一 Path变量是操作系统的,用以找寻相关命令的。例如ping这个命令,你能在控制行里打ping 127.0.0.1而有程序执行并正确返回结果,是因为Path变量包含C:\Windows\System32。你可以在Path中把C:\Windows\System32去掉,再使用ping命令,就会提示找不到ping命令。

这就像你在你的办公桌上工作,需要用到各种工具,如钢笔,如果你不写张纸贴在你桌边儿,就不知道它在哪,需要走到这走到那儿去找,直到找到。Path就相当于一个记录了工具位置的小便笺,它写着铅笔在同事小王的笔筒里,你就会直接去那儿拿, 而不是来回cd到所有目录里找。 对,你可以试试,只要ping.exe在C:\Windows\System32里,你随时都可以用C:\Windows\System32\ping来使用这个命令,而配置了Path,你就可以直接打入ping来使用。
然而,想要检查Path配置有效与否,需要一个命令 where, Linux里是which。 比如检查java配置好与否, where java, 它就会返回java命令的路径。这个命令还可以检查你配置的java是不是你要的那个java, 例如你安装了1.6 和1.7两个版本的jdk, 可是想要用1.7时,打java -version它总是返回当前版本是1.6怎么办? 那就用where检查一下第一个输出的路径位置的java是不是1.7的,不是的话,在path中把你的1.7位置的路径调地放置前一些。

二 OK, 你可能看到Path里配置的是%SystemRoot%\System32而并非C:\Windows\System32。这就是因为变量SystemRoot的值是C:\Windows。这也就是又独立出一个JAVA_HOME的原因了。需要配置JAVA_HOME有两个好处,1), 你不用改变Path的值,只需要改变JAVA_HOME的值,就可改变要用的java.exe,javac.exe的命令位置;2)统一所有使用Java程序的路径 ,所以不推荐有些兄弟说的不必配置JAVA_HOME,各种java程序已经默认JAVA_HOME为找寻java的变量,为避免日后安装的tomcat等程序找寻java方便,还是配置一下的好。之所以不必配置是因为新的JDK在安装时会向注册表里填入JAVA_HOME的位置。

三 Classpath,顾名思义,就是java class的位置,就是运行相关class, 这些class需要告诉java在哪可以找到它,从而使用。你要在java代码中import java.lang.String, String的位置就需要给出,简单说,class是系统库位置以及自定义class位置集合。再深刻点儿说,java中的系统ClassLoader需要用它来将用到的class 加载(load)以供程序使用。

最后,如果你用eclipse等IDE的话,对于你自己在eclipse里写的程序,是任何变量都不需要配置的,因为IDE也可以看作是一个小型的系统,它也有自己的环境变量。当然对于eclipse这个程序,还是需要在系统中配置的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanchen1991
2013-02-17 · TA获得超过1369个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:253万
展开全部
对于这个问题如果从专业的角度回答, 楼上的回答已经很完美了!不过对于Java入门而言没有必要去过于纠结,“亦步亦趋”是一个入门者学习语言很好的策略。这些东西如果以后编写桌面应用时会用到windows中的cmd命令时就能有一个很清晰很系统的理解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小童鞋_成er
2013-02-15 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
您好,提问者:
可以就配置一个path就行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式