Windows平台java环境配置


关键词:java环境配置javac不是内部和外部问题系统变量与用户变量导入dt.jar、tools.jar等变量值的作用(扩展)


java环境配置

进入环境变量配置窗口,设置3项属性,JAVA_HOME、PATH、CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”:

  • JAVA_HOME:设为JDK的安装路径(如E:\Program Files\java\jdk1.8.0_121),此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量)。
  • Path:使得系统可以在任何路径下识别java命令,设为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意前后自己判断是否要加引号)。%JAVA_HOME%就是引用前面指定的JAVA_HOME变量。
  • CLASSPATH:Java运行环境加载类的路径,只有类在classpath中,才能被识别和加载,设为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注意前面的点号(.),点号表示当前路径)。

检验配置:

在doc命令输入(打开doc快捷键window+R,运行框中输入cmd)以下命令

  • java -version


    Windows平台java环境配置_第1张图片
    java版本
  • java
Windows平台java环境配置_第2张图片
java命令
  • javac(问题来了)
Windows平台java环境配置_第3张图片
javac命令

解决问题的过程

为什么出现会出现这个问题呢?我也是一脸懵逼,明明都是按照规则来的,为什么还是出错了呢?于是我便开始检查前面的过程,想到的几个原因大致是:

  • 是否安装了jdk(只安装jre前面两个命令是可以显示正确的)
  • 符号是否出现中文
    在我仔仔细细的检查之后,我以确保没有以上问题,可是仍旧是上述结果,于是我使用命令path或者set查看环境路径:
Windows平台java环境配置_第4张图片
path命令

这里可以看到%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin前%JAVA_HOME%是没有变化的,按照查找路径规则,再配置JAVA_HOME E:\Program Files\java\jdk1.8.0_121后,%JAVA_HOME%引用应被 E:\Program Files\java\jdk1.8.0_121替换的,为什么没有替换呢?请看我的环境配置:

Windows平台java环境配置_第5张图片
环境变量配置

我居然把JAVA_HOME、PATH、CLASSPATH三条配置分开写在了用户变量与系统变量中,这样不伦不类的写法使系统不能进行路径匹配,导致javac命令出错。所以,大家在配置时一定要将三条写在统一的变量中。

Windows平台java环境配置_第6张图片
修改后执行path命令

系统变量与用户变量的区别

两者主要是范围上有所不同:
系统变量的路径值对所有用户有效,而用户变量只对配置该路径的当前用户有效。


扩展:详细说明JDK环境变量中dt.jar、tools.jar等变量值的作用(结合ClassLoader)

你可能感兴趣的:(Windows平台java环境配置)