java吧 关注:1,189,115贴子:12,598,052
  • 16回复贴,共1

[灌水]适用于菜鸟的JDK环境变量设置

只看楼主收藏回复

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


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


    2楼2012-05-25 04:41
    回复
      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,则设置对“所有”用户“永远”有效。


      3楼2012-05-25 04:43
      回复
        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,则设置对“所有”用户“永远”有效。


        4楼2012-05-25 04:44
        收起回复
          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


          7楼2012-05-25 13:34
          回复
            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


            8楼2012-05-25 13:35
            回复
              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


              9楼2012-05-25 13:35
              回复
                Eclipse 在相当多的时候是不可使用的。
                没有一些基础知识,怎样让写好的程序跑起来,有时也会是一个大难题。
                [mbp-UAT]/home/mbpuat/update>$_


                IP属地:湖北20楼2012-05-27 00:42
                回复
                  某次任务需要在远程机器上架设一个简单的 TCP/IP 服务端。
                  某同事很快写完了程序,却不知到怎样在远程机器上把程序跑起来,因为 Eclipse 无法帮他把程序部署到远程机器上。


                  IP属地:湖北21楼2012-05-27 00:45
                  回复
                    mbp...


                    IP属地:上海22楼2012-05-27 00:48
                    回复
                      补充,关于Windows环境JDK下载,安装及设置的更多内容:
                      http://tieba.baidu.com/p/1314117347
                      http://tieba.baidu.com/p/1320799796
                      补充,关于Linux环境JDK及Web设置的更多内容:
                      http://tieba.baidu.com/p/1210822920
                      最后,惯例!


                      38楼2012-09-22 23:29
                      回复
                        受教!


                        来自手机贴吧39楼2012-12-29 23:23
                        回复
                          不懂


                          IP属地:四川来自Android客户端41楼2013-11-20 11:09
                          回复
                            并不能给菜鸟用,因为根本看不懂


                            IP属地:北京42楼2017-01-15 20:46
                            回复
                              给小白提供一个入门渠道:
                              最新某讯全栈课程(前端+后端)课程半价出售(6900)
                              我年前进入的金讯全栈训练营,现半价(原价 13800)出售金讯最新一期课程视频,包含前端+后端所有内容
                              自己进培训机构也是得到这些课程视频,这是性价比最高的方式成为全栈工程师
                              老师都是对应阿里P8+的水平,我两年工作经验看完视频觉得自己基础都不会,更重要的是大厂工作方式
                              感兴趣的可以给我发邮件 gelutou@163.com
                              大家一起进步


                              IP属地:四川44楼2020-03-17 11:52
                              回复