JDK(JDK5,6,7,8)的安装和配置
首先,不建议使用.exe的安装程序,而是直接使用jdk压缩包。因为安装程序会在电脑上安装update...等等,这些玩意事后很难删除,每次打开电脑看到这些无关紧要的后台程序,就抓狂。
下面说下JDK5,6,7的配置。
第一步:解压JDK到指定目录,比如:C:\Program Files\
注意,Java目录里面有2个文件夹jdk7和jre7(这个目前没用到)。
第二步:配置环境变量。
Win7系统下,选中“我的电脑”,右键,依次选择“属性“、”高级系统设置“、”高级“、”环境变量(N)...“,然后在”系统变量(S)“下新建两个变量:
key=JAVA_HOME
value=C:\Program Files\Java\jdk7
key=CLASSPATH
value=.;%JAVA_HOME%jre\lib\rt.jar;%JAVA_HOME%lib\dt.jar;%JAVA_HOME%lib\tools.jar
最后在变量path前面添加
.;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
然后”确定“保存就OK了。
注意*如果是在"用户变量"中配置,需要新加path,value为.;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
“系统变量“中path就不要添加了。
补充点知识:
1、第二步中为什么选择”系统变量“,这要从”系统变量“和”用户变量“的区别来说。一台电脑,我们可能有很多用户,当我们设置”用户变量“时,这个变量只对当前用户可见。比如我们的JDK,如果配置在”用户变量“,那么其他用户使用我们的电脑时,开机后电脑中就没有这个变量,不能使用JDK了。
2、Java目录下一般有jdkX和jreX。jdkX是java开发包,可以编译我们的.java文件,但是里面也包括了jreX,所以,如果是开发,我们使用jdkX就够了;jreX是java运行环境,对于部署应用的系统环境,我们一般上传的文件是.class文件,只用jreX即可。
3、path和classpath的作用
3.1 path
配置path是为了可以直接访问jdk中bin下面的命令,如果不配置,使用命令的时候需要写全路径,但是java应用在运行的时候,怎么可能知道我们的jdk安装在哪个盘的哪个目录呢?
比如,如果不配置path,那么在cmd命令窗口输入javac,提示不是命令,但是输入全路径就可以;如果配置path,就可以直接输入javac命令了。还有,在没有配置path的情况下,eclipse等java程序都运行不起来,因为这些java程序不知道我们jdk的bin命令在哪里。
3.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:\test就表示执行运行命令时去c:\test文件夹去找需要被执行的class文件
在java5之前该路径是不能指定当前路径的,除非这样设置:classpath=.;c:\test,就表示先在当前目录找class文件,要是没找到就到c:\test去找;(当一个变量有多个值时,多个值之间是有英文的分号隔开)
设置从当前所在目录查找(java1.5后默认):set classpath=.,所以jdk1.5之后,我们可以不设置这个变量