jdk环境变量path和CLASSPATH

了解用户变量和系统变量

用户变量和系统变量其实并没有什么太大的区别,只是用户变量只对当前用户有效,系统变量对所有用户有效,对于当前用户而言,设置系统变量还是用户变量区别不大,但是,系统变量的路径排在用户变量的路径之前,例如:Path系统变量的路径包含了java命令,而Path用户变量的路径也包含了java命令,优先执行Path系统变量路径包含的java命令

设置path环境变量

编译和运行Java程序必须经过两个步骤
  • 将源文件编译成字节码(使用java命令)
  • 解释执行平台无关的字节码程序(使用javac命令)

Windows系统会根据path环境变量来查找命令,若是能找到此命令,则该命令是可执行的,否则会提示“‘xxx’不是内部或者外部命令,也不是可运行的程序或批处理文件”

配置环境变量
  • Path的配置
    Windows系统中Path变量已经存在,只需要在该环境变量后追加C:\Program Files\Java\jdk-10\bin(C:\Program Files\Java\jdk-10是我的jdk安装路径);除此之外也可以使用 %JAVA_HOME%\bin的方式动态获取

  • CLASSPATH的配置
    新建一个名为CLASSPATH的环境变量,变量值为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (其中%JAVA_HOME%代表jdk的安装目录,注意最前面有一点

    • 实际上,要是使用1.5以上的JDK,完全不用设置CLASSPATH,当使用 “java Java类名” 命令来运行Java程序时,JRE会在当前路径下搜索Java类,但是1.4之前的JDK未设计此功能,所以需要在CLASSPAHT环境变量前加一点(.),告诉JRE要在当前路径下搜素Java类
    • 编译和运行需要jdk的lib路径下dt.jar和tools.jar文件中的Java类,需要把这两个文件添加到CLASSPATH环境变量中
    • 之后的JRE会自动搜索当前路径下的类文件,系统自动加载dt.jar和tools.jar文件中的Java类,因此不需要设置CLASSPATH的环境变量;在jdk1.5以上版本也可以设置CLASSPATH环境变量,设置后,JRE会按该路径搜索Java类,要是CLASSPAHT环境变量中不包括一点(.),也就是没有包含当前路径,JRE不会在当前路径下搜索Java类,会出现“错误:找不到或无法加载主类 XXX”

猜你喜欢

转载自blog.csdn.net/tuckEnough/article/details/79905717