zoukankan      html  css  js  c++  java
  • 浅析JAVA_HOME,CLASSPATH和PATH的作用

    1,设置JAVA_HOME:
    一、为了方便引用
    ,比如,你JDK安装在C:ProgramFilesJavajdk1.7.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;

    二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!

    三、第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.

    2,设置CLASSPATH:
    这是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子: 你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:"), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:"再在任何目录下运行java A, 看看会有什么结果~~:)~~~,一切正常, java命令通过CLASSPATH找到了.class文件!

    classpath=c: est就表示执行运行命令时去c: est文件夹去找需要被执行的class文件
    在java5之前该路径是不能指定当前路径的,除非这样设置:classpath=.;c: est,就表示先在当前目录找class文件,要是没找到就到c: est去找;(当一个变量有多个值时,多个值之间是有英文的分号隔开)
    设置从当前所在目录查找(java1.5后默认):set classpath=.

    3,设置PATH:(必须设置)
    道理很简单, 你想在任何时候都使用%JAVA_HOME%injava等来执行java命令吗, 当然不会, 于是, 你可以选择把%JAVA_HOME%in添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.

    (当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序,并且执行.)

    -------------------------------------------------------------------------------------

    简单来讲,

    1.path是os用 ,classpath java用

    2.path里面不光有Java的bin,还可以包含许多其他的,tc啊,masm阿,只要在path中设了这些环境的路径,你在dos下的任何路径上都可以调用这些路径下的命令。 classpath是java专用的查找类的路径

    3.path 用来定义可执行程序的查找路径,classpath 是定义查找 java class 的查找路径

    4.classpath和path,从字面上来看,classpath比path多了一个class,即是'类'的意思,所以,classpath配置的是类的路径

    
    
    
  • 相关阅读:
    [Erlang05]gen_server怎么去写eunit?
    [Erlang04]为什么有了rpc还有net_kernel:connect/1?
    [Erlang03]Erlang有哪些好用的静态分析工具?
    [SIP01]SIP Header Fields里面各字段用途
    [SIP00]SIP 概念总结
    [Erlang00]:gen_server:reply/2
    Makefile教程
    Linux 环境下开发 STM32
    Ubuntu 18.04 + ROS Melodic + TurtleBot3仿真
    Ubuntu系统鼠标不能点击
  • 原文地址:https://www.cnblogs.com/winner-0715/p/5168211.html
Copyright © 2011-2022 走看看