Java环境变量配置以及classpath详解

来源:互联网 发布:安卓应用商店推荐 知乎 编辑:程序博客网 时间:2024/05/22 01:25

下载安装完java,首先要做的就是配置环境变量的系统变量(进入我的电脑,右键选属性,选高级,点环境变量,这样就进入了环境变量配置,我们要配置的是下面的系统变量),一般需要配三个变量path,java_home,和classpath(不区分大小写)

1.java_home ,环境变量里,如果没安装过java的机器,里面没有这个参数,自己建一个,这个环境变量设的值为jdk的安装路径,如我的是C:\java,如图



当然,这个目录有它重要的作用,1.方便设置path,classpath等(下面会提到),2.便于修改,有一些软件会调用这个值,查找jdk路径


2. path ,这个参数系统应该自带,如果没有自己建一个,设置的是你安装jdk的bin目录,有两种写法(我安装的目录是C:\java)

         第一种.C:\java\bin 这个目录是bin文件夹的绝对路径

         第二种就要用到前面设置的java_home了,设为 %java_home%\bin,没错就是用java_home的值代替jdk的安装路径,这样需要修改时,只需要修改java_home的值就行了。

    注意,path里面的变量有很多,变量与变量之间要用分号隔开,(除了末尾不加分号)

    用过命令行的都知道path这个值,起到的是简化操作的作用,比如有一个命令“c.exe " 在目录C:\A\B\下存放,如果在命令提示符下调用这个命令,就需要执行命令 C:\A\B\c + 参数,如果把C:\A\B 加入到path中,只需要执行命令 c+参数 ,系统会自动查询path参数的值,然后逐个路径搜索


3. classpath这个参数,设为  .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar

 看清楚有两个分号,第一个前面只有一个点,表示的是当前目录,这个很重要,后面两个是两个第三方jar包,这个参数的值不包括标准类库和扩展类库的jar包,因为标准类库和扩展类库是默认加载的不需要设置,要设置额外的第三方类

我要重点说一下这个参数,在我原来学java的时候,没太注意过这个值,在我回过头来,看这个参数的时候,发现它竟然可以不用设,,不设的话,java虚拟机会默认搜索当前路径,也就是你写的java程序所在的位置,也就相当于我们设的那个“.”号,但是如果你想用tools.jar或dt.jar里面的类怎么办?这里有两种方法,一种就是前面讲的设置classpath,但是这个classpath必须要带上前面的“.”号,如果不带,只设置tools.jar或dt.jar的路径,虚拟机竟然不加载当前目录的类,也就是classpath把默认的classpath(也就是默认搜索当前路径)给覆盖了,不搜索当前路径了,所以,一定不要忘了那个点号。第二种方法 就是在命令行中执行命令时,带上classpath 参数,

如我要加载,dt.jar这个包里面的类(编译test.java),我命令就要这样写 javac -classpath .;C:\java\lib\dt.jar test.java 也就是在参数classpath中加入需要的第三方类的的路径,但是在前面必须加一个“.”号,表示当前路径,我试了,如果不加它也找不到当前目录的类。

我比较喜欢不设置它,当真正用到第三方包的时候加个参数就行了。