• jdk环境变量配置及配置原因


    windows下:

    一.设置环境变量

    变量名:JAVA_HOME

    变量值:D:Program FilesJavajdk1.6.0  (即jdk安装的位置)
     
    变量名:Path  (这个变量名已在系统变量中存在,现只需在这个值的前面添加以下变量值就可以了)
    变量值:%JAVA_HOME%in;%JAVA_HOME%jre7in;
     
    变量名:CLASSPATH

    变量值:.;%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar (.;一定要设置上)

    注意:如果使用1.5以上版本的JDK,完全可以不用设置CLASSPATH环境变量,也可以正常编译和运行 Java 程序,当然,即使使用JDK1.5以上版本,也可以设置CLASSPATH环境变量,一量设置了该环境变量,JRE将会按该环境变量指定的路径来搜索Java类。

    二.设置环境变量的作用

    1,设置JAVA_HOME: 
         (1).为了方便引用,比如,你JDK安装在C:Program FilesJavajdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串; 
         (2).归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃! 
         (3).第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.

    2,设置CLASSPATH: 
        2.1基础知识

      讲到CLASSPATH,我们首先来看编写java程序时一直在用的两个命令javac和java。
    javac的命令语法是这样的:
           javac <选项> <源文件>
        我们常用的情况是这样的:
            javac -classpath <类路径>  <要编译的java源文件>
        这里的类路径输入什么呢?这里的类路径是指要编译的java源文件中所用的非java的基础API中的类在那个目录下,路径可以是多个目录,用分号隔开来。

    比如说我们要编译App.java这个文件,而这个文件中用到了com.util这个包中的MyDate这个类,现在我们假设MyDate这个类存在目录是: d:mylibcomutilMyDate.class,那么我们如何编译App这个类呢?我们的命令如下:
        javac -classpath d:mylib  App.java
        注意这里的classpath的内容,我们只是指定路径到package所在目录,并不能把package一起指定进去,而且MyDate.class必须在comutil这个目录 中,因为这个类定义了package为com.util。好了现在你对javac中的classpath明白了吗?


        我们再来看java这个命令,这个命令的语法是这样的:
        java [选项] 类 [参数]
        比如说以上面的例子,我们假设App这个类位于com.app这个package中,它的存放目录是:d:devmyappcomappApp.class,那么我们该如何运 行这个类呢?命令如下:
        java -classpath d:devmyapp;d:mylib com.app.App
        从命令中我们可以看到,在classpath后面我们指定两个目录,分别是App这个类的package所在的目录和MyDate这个类的package所在的目录,这里的 类路径要给定的是要运行的类和这个类用到的所有类的package所在的目录,多个目录之间用分号隔离开来,最后指定要运行的类的时候必须加上 package。

         2.2  classpath变量中 各jar作用

    1. rt.jar 默认就在 根classloader的加载路径里面 放在claspath是多此一举(安装外部JRE时就已经加载该classpath了),不信你可以去掉classpath里面的rt.jar,
         然后用 java -verbose XXXX 的方式运行一个简单的类 就知道 JVM的系统根Loader的路径里面,不光rt.jar jre/lib下面的大部分jar都在这个路径里  


    2. tools.jar里面是最基本的工具类,比如javac,是系统用来编译一个类的时候用到的.
          javac XXX.java 
           实际上就是运行 javac -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java   
       
    3. dt.jar是关于运行环境的类库,主要是swing的包,如果不用Swing里面的东西,可以不加dt.jar

      

     总结

    所以classpath 变量的含义是告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件,.;表示当前路径,tools.jar和dt.jar为 类库路径。如果不用Swing里面的东西,可以不加dt.jar。 tools.jar里面是最基本的工具类,例如javac

    3 .设置PATH: 
        配置path变量作用就是为了使系统在任何路径下都可以识别java,javac命令 

  • 相关阅读:
    Android框架之高速开发框架xUtil
    树状数组 LA 4329 亚洲赛北京赛区题
    Linq To Sql 增改删
    标题栏显示进度条
    android:inputType参数类型说明
    Illegal resource reference: @*android resources are private and not always present
    android:editable is deprecated: Use an <EditText> to make it editable
    android:contentDescription的作用是什么
    Replace
    图片缓存优化
  • 原文地址:https://www.cnblogs.com/zhilu-doc/p/7455572.html
Copyright © 2020-2023  润新知