Java环境变量配置方法详解

    技术2022-05-19  31

    Java环境变量配置

      windows 配置JDK环境变量:

      1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:/Java/jdk1.6.0_23;

      2.安装完成后,右击“我的电脑”,点击“属性”;

      3.选择“高级”选项卡,点击“环境变量”;

      4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;

      5.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:/Java/jdk1.6.0_23,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依*此变量);

      Path使得系统可以在任何路径下识别java命令,设为:

      %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin

      CLASSPATH为java加载类(classorlib)路径,只有类在classpath中,java命令才能识别,设为:

      .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar(要加.表示当前路径)

      %JAVA_HOME%就是引用前面指定的JAVA_HOME;

      6.“开始”->;“运行”,键入“cmd”;

      7.键入命令“java-version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功;

      8.好了,打完收工。下面开始你的第一个java程序吧。

      几个java环境变量的含义和linux下的配置方法:

      通常,我们需要设置三个环境变量:JAVA_HOME、PATH和CLASSPATH。

      ◆JAVA_HOME:该环境变量的值就是Java所在的目录,一些Java版的软件和一些Java的工具需要用到该变量,设置PATH和CLASSPATH的时候,也可以使用该变量以方便设置。

      ◆PATH:指定一个路径列表,用于搜索可执行文件的。执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找PATH中的每一个路径,直至找到。或者找完PATH中的路径也不能找到,则报错。Java的编译命令(javac),执行命令(java)和一些工具命令(javadoc,jdb等)都在其安装路径下的bin目录中。因此我们应该将该路径添加到PATH变量中。

      ◆CLASSPATH:也指定一个路径列表,是用于搜索Java编译或者运行时需要用到的类。在CLASSPATH列表中除了可以包含路径外,还可以包含.jar文件。Java查找类时会把这个.jar文件当作一个目录来进行查找。通常,我们需要把JDK安装路径下的jre/lib/rt.jar(Linux:jre/lib/rt.jar)包含在CLASSPATH中。

      PATH和CLASSPATH都指定路径列表,列表中的各项(即各个路径)之间使用分隔符分隔。在Windows下,分隔符是分号(;),而在Linux下,分隔符是冒号(:)。

      三个Java环境变量在Windows和Linux下设置

      在此之前,我们需要做个假设。假设JDK在Windows下的安装路径是C:/jdk/,在Linux下的安装路径是/usr/local/jdk/。那么,安装后的JDK至少会包括如下内容:

      1.C:/jdk(/usr/local/jdk)

      2.|--bin

      3.|--demo

      4.|--include

      5.|--jre

      6.||--bin

      7.|`--lib

      8.`--lib

      9.

      Java环境变量在Windows下设置

      Windows下使用set命令设置环境变量,为了使每一次启动计算机都设置这些环境变量,应该在系统盘根目录下的autoexec.bat文件中进行设置,如:

      10.setJAVA_HOME=C:/jdk

      11.setPATH=%JAVA_HOME%/bin;C:/Windows;C:/Windows/Command

      12.setCLASSPATH=%JAVA_HOME%/jre/lib/rt.jar;.

      13.

      有些版本的Windows不能用%变量名%来替换环境变量的内容,那么就只好直接写C:/jdk而不是%JAVA_HOME%了。另外,C:/Windows和C:/Windows/Command是Windows会自动加入路径的,所以可以从设置中去掉。如果在autoexec.bat中已经设置了PATH,那只需要将%JAVA_HOME%/bin加到原来设置PATH的那条语句中就行了。

      CLASSPATH也可以根据需要设置或者加入其它的路径,比如你想把自己写的一些类放在C:/java中,就可以把C:/java也添加到CLASSPATH中去,setCLASSPATH=%JAVA_HOME%/jre/lib/rt.jar;C:/java;.。

      注意,在CLASSPATH中包含了一个“当前目录(.)”。包含了该目录后,就可以到任意目录下去执行需要用到该目录下某个类的Java程序,即使该路径并未包含在CLASSPATH中也可以。原因很简单:虽然没有明确的把该路径包含在CLASSPATH中,但CLASSPATH中的“.”在此时就代表了该路径,如:

      假设在C:/java目录下有可运行的类HelloJava.class,那么

      14.C:/>setCLASSPATH=C:/jdk/jre/lib/rt.jar;.//设置CLASSPATH环境变量,注意最后有一个“.”

      15.C:/>cdjava//转到C:/java目录

      16.C:/java>javaHelloJava//运行HelloJava

      17.Hello,Java.//运行结果

      18.C:/java>_

      19.

      Java环境变量在Linux下设置

      Linux下使用“变量名=变量值”设置变量,并使用export命令将其导出为环境变量。为了使每一次登录都自动设置好这些变量,你需要在~/.bash_profile里或者~./bashrc里进行设置,如

      20.exportJAVA_HOME=/usr/local/jdk

      21.exportPATH=$JAVA_HOME/bin:$PATH

      22.exportCLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.

      23.

      设置PATH时用的$JAVA_HOME是指替换变量JAVA_HOME的值到$JAVA_HOME所在位置。如上句实际就是exportPATH=/usr/local/jdk/bin:$PATH。这句中$PATH也是同样的作用,不过这里的PATH是指以前设置的PATH变量的值,而非本次设置PATH变量的值。

      注意,在CLASSPATH中包含了一个“当前目录(.)”。包含了该目录后,就可以到任意目录下去执行需要用到该目录下某个类的Java程序,即使该路径并未包含在CLASSPATH中也可以。原因很简单:虽然没有明确的把该路径包含在CLASSPATH中,但CLASSPATH中的“.”在此时就代表了该路径,例如

      假设在/home/fancy/java目录下有可运行的类HelloJava.class,那么

      24.[fancy@matrixfancy]$exportCLASSPATH=/usr/local/jdk/jre/lib/rt.jar:.//设置CLASSPATH,注意最后的“.”

      25.[fancy@matrixfancy]$cd~/java//转到/home/fancy/java

      26.[fancy@matrixjava]$pwd//显示当前目录

      27./home/fancy/java//当前目录是/home/fancy/java

      28.[fancy@matrixjava]$javaHelloJava//运行HelloJava

      29.Hello,Java//运行结果

      30.[fancy@matrixjava]$_

      31.

      实例分析

      只是操作系统不同,略有差别。

      两个例子都提到一个“可运行的类”,它是指包含了publicstaticvoidmain(String[]args)方法的类,这将在下一章HelloJava一节中详述。例中的CLASSPATH均未包含HelloJava.class所在的目录(C:/java,/home/fancy/java),但是均包含了当前目录(.)。因此转到包含HelloJava.class的目录下去执行javaHelloJava,在Java寻找到CLASSPATH中的“.(当前目录,C:/java,/home/fancy/java)”时,找到了HelloJava.class,运行成功。


    最新回复(0)