jdk环境变量的配置及path、classpath的作用和区别

    个人觉得像jdk、tomcat等等这些下载解压版是不错的选择!(当然,jdk在Oracle官网是没提供解压版的)理论上下载了jdk之后,一个变量都不需要配置,只不过为了命令行敲起来方便,所以通常会把jdk的bin目录加入到path变量中。

    JAVA_HOME这个变量的作用是一些基于java开发的工具会用到,比tomcat,groovy,vertx…..,如果不用这些工具这个变量也可以免了,不过通常为了方便以后用java开发的小工具,一般都会设置JAVA_HOME,然后把 %JAVA_HOME%\bin; 追加到PATH中。 

最终结论:
  1、下载解压版的jdk,解压!
  2、新建用户变量(注意这里说的是用户变量而不是系统变量,这样做是有好处的,不会污染你的系统环境变量),变量名:JAVA_HOME 变量值 例如: D:\development\jdk1.6
  3、在path中添加 %JAVA_HOME%\bin;

  备注:假如更换jdk版本,你只要将JAVA_HOME的变量值变为另一个jdk的bin目录即可!

1.path的作用
    path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行Java文件,但必须把完整的路径写出来,如 

D:\development\jdk1.6\bin\javac TheClass.java

    path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径;而java的各种操作命令是在其安装路径中的bin目录下,所以在path中设置了JDK的安装目录后就不用再把java文件的完整路径写出来了,它会自动去path中设置的路径中去找; 

2.classpath的作用
  classpath是指定你在程序中所使用的类(.class)文件所在的位置,就如在引入一个类时importjavax.swing.JTable这句话是告诉编译器要引入javax.swing这个包下的JTable类,而classpath就是告诉编译器该到哪里去找到这个类(前提是你在classpath中设置了这个类的路径);如果你想要编译在当前目录下找,就加上“.”如:.;D:\development\jdk1.6\bin,这样编译器就会到当前目录和D:\development\jdk\1.6\bin下去找javax.swing.JTable这个类;
备注:用Eclipse开发,不设classpath也没关系,因为Eclipse有相关的配置;

    path是os用;classpath java用;path里面不光有Java的bin,还可以包含许多其他的,maven、oracle、等等,只要在path中设了这些环境的路径,你在dos下的任何路径上都可以调用这些路径下的命令。classpath是java专用的查找类的路径。(用工具开发就不需要考虑这一点)

可能遇到的问题:
    当第一次下载JKD并配置好环境变量,在命令行窗口键入javac,但却抛出如下异常,请问为什么?

Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.Main at java.net.URLClassLoaderv$1.run<Unknow Source> at java.security.AccessController.doPrivileged<Native Method> at java.net.URLClassLoader.findClass<Unknow Source> at java.lang.ClassLoader.loadClass<Unknow Source> at sun.misc.Launcher$AppClassLoader.loadClass<Unknow Source> at java.lang.ClassLoader.loadClass<Unknow Source> Could not find the main class: com.sun.tools.javac.Main. Program will exit.

  但输入java、java -version、set classpath等命令却都正确,这个问题的原因就是没有将tools.jar配置在classpath中;
可以通过如下配置来解决:
1. 新建变量名为CLASSPATH的用户变量
2. 变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
备注:如果配置了CLASSPATH用户变量,dos中javac命令还是报错,你不要怀疑上面的配置方法有问题,你就应该去看看你的jdk的lib目录下是否根本就没有tools.jar这个包。

总之,配置jdk环境,除非你是用刚开始真记事本敲代码,只要你是用eclipse工具做开发,只要按着上面的“最终总结”的三步就ok!

    原文作者:key_zhaojd
    原文地址: https://blog.csdn.net/zjdwhd/article/details/50618446
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞