snow050704吧 关注:27贴子:5,567
  • 10回复贴,共1

[笔记]适用于菜鸟的JDK环境变量设置

只看楼主收藏回复

按照惯例,百度吉祥!
另,将我混迹于J8以来的唯一精品搬运至此!


1楼2013-05-17 14:49回复
    宗旨:本贴宗旨并非灌水,而是为减少不必要的提问与不必要的回答,进而为低碳环保之理念贡献自己绵薄之力。
    声明:请务必确保正确下载并成功安装适合自己的JDK版本。错误的下载或失败的安装不在本贴讨论范围之内。


    2楼2013-05-17 14:49
    回复
      1. 本贴假设的JDK安装目录
      1.1 Microsoft Windows环境,假设JDK的安装目录为:C:\Program Files\jdk1.6.0_30
      1.2 GNU/Linux环境,假设JDK的安装目录为:/usr/jdk1.6.0_30


      3楼2013-05-17 14:50
      回复
        2. 非常简单的设置
        因为某些版本的JDK已经变得非常聪明(至少Java SE6是这样),所以对于菜鸟所遇到的大多数情况而言,可以不用设置CLASSPATH,但是出于对传统的尊重以及对未来的不信任,LZ将CLASSPATH设置为表示工作目录的“点儿”。
        2.1 Microsoft Windows环境
        2.1.1 在百度文库中搜索,“JDK安装与环境变量设置详细图解”
        2.1.2 或者打开命令提示符输入下述命令:
        set PATH=%PATH%;%PROGRAMFILES%\jdk1.6.0_30\bin
        set CLASSPATH=.
        2.1.3 或者编辑一个批处理文件(例如foo.bat),并运行之即可,文件内容如下:
        @echo off
        set PATH=%PATH%;%PROGRAMFILES%\jdk1.6.0_30\bin
        set CLASSPATH=.
        call cmd.exe
        2.2 GNU/Linux环境
        2.2.1 对于Bourne Shell家族(例如bash),可以在虚拟控制台或终端中输入下述命令:
        PATH=$PATH:/usr/jdk1.6.0_30/bin
        export CLASSPATH=.
        2.2.2 对于C Shell家族(例如tcsh),可以在虚拟控制台或终端中输入下述命令:
        set path=($path /usr/jdk1.6.0_30/bin)
        setenv CLASSPATH .
        2.2.3 登录文件(登录文件名根据环境不同可能会有所不同)
        对于bash,如果将上述设置写入$HOME/.profile,则设置对用户“永远”有效。
        对于bash,如果以root身份将上述设置写入/etc/profile,则设置对“所有”用户“永远”有效。
        对于tcsh,如果将上述设置写入$HOME/.login,则设置对用户“永远”有效。
        对于tcsh,如果以root身份将上述设置写入/etc/csh.login,则设置对“所有”用户“永远”有效。


        4楼2013-05-17 14:50
        回复
          3. 稍微复杂一些的设置
          3.1 Microsoft Windows环境
          3.1.1 在百度文库中搜索,“JDK安装与环境变量设置详细图解”
          3.1.2 或者打开命令提示符输入下述命令:
          set JAVA_HOME=%PROGRAMFILES%\jdk1.6.0_30
          set JRE_HOME=%JAVA_HOME%\jre
          set PATH=%PATH%;%JAVA_HOME%\bin;%JRE_HOME%\bin
          set CLASSPATH=.
          3.1.3 或者编辑一个批处理文件(例如foo.bat),并运行之即可,文件内容如下:
          @echo off
          set JAVA_HOME=%PROGRAMFILES%\jdk1.6.0_30
          set JRE_HOME=%JAVA_HOME%\jre
          set PATH=%PATH%;%JAVA_HOME%\bin;%JRE_HOME%\bin
          set CLASSPATH=.
          call cmd.exe
          3.2 GNU/Linux环境
          3.2.1 对于Bourne Shell家族(例如bash),可以在虚拟控制台或终端中输入下述命令:
          export JAVA_HOME=/usr/jdk1.6.0_30
          export JRE_HOME=$JAVA_HOME/jre
          PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
          export CLASSPATH=.
          下述命令将CLASSPATH设置为,$HOME/my-classes,$HOME/my-jar.jar,以及工作目录:(神经不易紧张的人可以省略冒号后面的“点儿”)
          export CLASSPATH=$HOME/my-classes:$HOME/my-jar.jar:.
          3.2.2 对于C Shell家族(例如tcsh),可以在虚拟控制台或终端中输入下述命令:
          setenv JAVA_HOME /usr/jdk1.6.0_30
          setenv JRE_HOME $JAVA_HOME/jre
          set path=($path $JAVA_HOME/bin $JRE_HOME/bin)
          setenv CLASSPATH .
          下述命令将CLASSPATH设置为,$HOME/my-classes,$HOME/my-jar.jar,以及工作目录:(神经不易紧张的人可以省略冒号后面的“点儿”)
          setenv CLASSPATH $HOME/my-classes:$HOME/my-jar.jar:.
          3.2.3 登录文件(登录文件名根据环境不同可能会有所不同)
          对于bash,如果将上述设置写入$HOME/.profile,则设置对用户“永远”有效。
          对于bash,如果以root身份将上述设置写入/etc/profile,则设置对“所有”用户“永远”有效。
          对于tcsh,如果将上述设置写入$HOME/.login,则设置对用户“永远”有效。
          对于tcsh,如果以root身份将上述设置写入/etc/csh.login,则设置对“所有”用户“永远”有效。


          5楼2013-05-17 14:51
          回复
            4. 打开命令提示符(Microsoft Windows),或虚拟控制台或终端(GNU/Linux),输入命令javac,将会出现类似下面这样令人眼花缭乱的屏幕输出:(反之,则可能存在严重的RPWT)
            Usage: javac <options> <source files>
            where possible options include:
            -g Generate all debugging info
            -g:none Generate no debugging info
            -g:{lines,vars,source} Generate only some debugging info
            -nowarn Generate no warnings
            -verbose Output messages about what the compiler is doing
            -deprecation Output source locations where deprecated APIs are used
            -classpath <path> Specify where to find user class files and annotation processors
            -cp <path> Specify where to find user class files and annotation processors
            -sourcepath <path> Specify where to find input source files
            -bootclasspath <path> Override location of bootstrap class files
            -extdirs <dirs> Override location of installed extensions
            -endorseddirs <dirs> Override location of endorsed standards path
            -proc:{none,only} Control whether annotation processing and/or compilation is done.
            -processor <class1>[,<class2>,<class3>...]Names of the annotation processors to run; bypasses default discovery process
            -processorpath <path> Specify where to find annotation processors
            -d <directory> Specify where to place generated class files
            -s <directory> Specify where to place generated source files
            -implicit:{none,class} Specify whether or not to generate class files for implicitly referenced files
            -encoding <encoding> Specify character encoding used by source files
            -source <release> Provide source compatibility with specified release
            -target <release> Generate class files for specific VM version
            -version Version information
            -help Print a synopsis of standard options
            -Akey[=value] Options to pass to annotation processors
            -X Print a synopsis of nonstandard options
            -J<flag> Pass <flag> directly to the runtime system


            6楼2013-05-17 14:52
            回复
              5. 千里之行,始于“Hello, World!”
              5.1 编辑文本文件HelloWorld.java,并将其保存至“某个目录”,文件内容如下:
              class HelloWorld {
              public static void main(String[] args) { System.out.println("Hello, World!"); }
              }
              5.2 打开命令提示符(Microsoft Windows),或虚拟控制台或终端(GNU/Linux),进入“某个目录”,分别输入命令:
              javac HelloWorld.java
              java HelloWorld


              7楼2013-05-17 14:52
              回复
                6. 最简单的设置就是不做任何设置,但是显然这样做会比较麻烦
                6.1 Microsoft Windows环境
                例如已经将HelloWorld.java保存至C:\tmp目录:
                %PROGRAMFILES%\jdk1.6.0_30\bin\javac C:\tmp\HelloWorld.java
                %PROGRAMFILES%\jdk1.6.0_30\bin\java -cp C:\tmp HelloWorld
                6.2 GNU/Linux环境
                例如已经将HelloWorld.java保存至$HOME/tmp目录:
                /usr/jdk1.6.0_30/bin/javac $HOME/tmp/HelloWorld.java
                /usr/jdk1.6.0_30/bin/java -cp $HOME/tmp HelloWorld


                8楼2013-05-17 14:52
                收起回复
                  补充,原文:
                  http://tieba.baidu.com/p/1610714413
                  补充,关于Windows环境JDK下载,安装及设置的更多内容:
                  http://tieba.baidu.com/p/1314117347
                  http://tieba.baidu.com/p/1320799796
                  补充,关于Linux环境JDK及Web设置的更多内容:
                  http://tieba.baidu.com/p/1210822920


                  11楼2013-05-17 16:07
                  回复