`

jdk安装

    博客分类:
  • java
阅读更多

1.1 获取 JDK

Java 的官方站点是 java.sun.com,所以要获取最新版的 JDK (Java Developer Kit) 就应该到 java.sun.com 去找。

JDK 就是 Java 的 SDK (Software Development Kit),有标准版 (Standard Edition) 和企业版 (Enterprise Edition) 之分。标准版可以免费使用、编写软件并发行;而企业版,虽然也可以免费使用、编写软件,但如果你想发行用企业版编写的软件,你就得支付一定的费用。

为了学习和编写 Java 程序,我们通常需要下载两个包:Java 2 SDK 和 Java 2 SDK 文档 (Documentation)。Java 2 SDK 包含了 Java 开发工具 (Developer Kit) 和 Java 运行环境 (Runtime Environment),以及 Java API 源码等,可以根据需要选择 Windows 版或者 Linux 版。而 Java 2 SDK 文档是一个压缩包,以网页的形式提供了 Java API 的非常详尽的开发文档,是 Java 程序开发的最佳参考资料。

目前 Java SDK 的最新版是 1.4 预发行版 (1.4.0 Release Candidate),可以在 http://java.sun.com/j2se/1.4/ 下载。如果需要稳定的最高版本,Java 2 SDK 1.3.0 Release,可以在 http://java.sun.com/j2se/1.3/ 下载。对于初学者,建议直接从 1.4 开始,虽然目前还只是预发行版,但它已经很稳定了。


1.2 安装 JDK

安装 JDK 将以预发行版的 JDK 1.4 (Java 2 SDK, v 1.4.0 Release Candidate) 为例。

1.2.1 系统需求

在 Windows 下安装 JDK 的系统需求:

操作系统:Windows 95/98/ME
Windows NT 4.0 (需要安装 Service Pack 5 以上)
Windows 2000 专业版 (Professional) / 服务器版 (Server)
Windows XP 家庭版(Home)/专业版(Professional)
内存:基本图形界面应用程序需要 32M
Applet 需要 48M
较复杂的图形界面应用程序需要更大的内存
CUP:奔腾 (Pentium) 166 及更快的 CPU
硬盘空间:70M 以上

在 Linux 下安装 JDK 的系统需求:

Linux 核心 (Kernel) 2.2.12 版本及以上
glibc 2.2.2-11 版本及以上
16 位 (bit) 真彩 KDE 或者 Gnome
最少 32M 内存,推荐使用 48M 内存
至少 75M 硬盘空间

1.2.2 在 Windows 下安装 JDK

下载的 Windows 版本的 JDK 安装程序是一个以 -win.exe 结尾的可执行文件,如 JDK 1.4 预发行版的 Windows 安装程序就是 j2sdk-1_4_0-rc-win.exe。直接运行该安装程序,并根据向导的提示就可以非常简单的安装好 JDK 1.4 RC for Windows。需要注意的是,如果是在 Windows 2000/XP 下安装,需要先取得管理员 (Administrator) 权限。在安装过程中需要设置安装的位置,请记住这个位置,因为下一节,设置 PATH 和 CLASSPATH 需要用到这个路径。

1.2.3 在 Linux 下安装 JDK

Linux 版的 JDK 安装程序有两种格式:GNUZIP Tar 格式 (j2sdk-1_4_0-rc-linux-i386.bin) 和 RedHat RPM 格式 (j2sdk-1_4_0-rc-linux-i386-rpm.bin)。下面分别对使用这两个安装文件的安装步骤进行说明。

1. 安装 GNUZIP Tar 格式的安装程序

j2sdk-1_4_0-rc-linux-i386.bin 是一个自解压文件,可直接运行 (命令:./j2sdk-1_4_0-rc-linux-i386.bin)。运行它之后会显示一个许可信息 (License),同意之后,安装程序会将 JDK 解压在当前路径下的一个名为 j2sdk1.4.0 的目录中。所以,如果你想把 JDK 安装个某个位置,就可以把该安装程序文件拷贝到那个位置,再运行安装程序;或者运行安装程序后,将解压出来的 j2sdk1.4.0 目录移动到你想要的位置。

使用这种格式的安装程序,优点是安装位置可自定。

2. 安装 RedHat RPM 格式安装程序

相对于安装 GNUZIP Tar 格式的安装程序,安装 RedHat RPM 格式的安装程序更麻烦一些。

j2sdk-1_4_0-rc-linux-i386-rpm.bin 也是一个自解压文件,同样会首先显示许可协议。不过它解压出来的不是一个目录,而是一个 .rpm 文件 (j2sdk-1_4_0-rc-linux-i386.rpm)。稍后,我们将使用 rpm 命令进行安装,在此之前,你需要获得 root 权限。

如果你安装过 JDK 1.4 的测试 (Beta) 版本 (beta, beta2, bate3),你应该先御载它们。如果你不知道是否安装过,可以使用 rpm 命令再 -qa 参数来检查,如

rpm -qa | grep j2sdk-1.4.0

如果 Linux 中安装有 JDK 1.4 测试版,它就会被列出来。那么,我们接下来就应该使用 rpm 命令带 -e 参数来删除它,如

rpm -e j2sdk-1.4.0-beta
rpm -e j2sdk-1.4.0-beta2
rpm -e j2sdk-1.4.0-beta3

直到现在,我们才能安装最新下载的 JDK 1.4 预发行版,使用 rpm 命令带 -ivh 参数,如

rpm -ivh j2sdk-1_4_0-rc-linux-i386.rpm


1.3 设置 Java 需要的环境变量

通常,我们需要设置三个环境变量: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 下,分隔符是冒号 (:)。

下面分别说明三个环境变量在 Windows 和 Linux 下如何设置,不过在此之前,我们需要做个假设。假设 JDK 在 Windows 下的安装路径是 C:\jdk\,在 Linux 下的安装路径是 /usr/local/jdk/。那么,安装后的 JDK 至少会包括如下内容:

C:\jdk (/usr/local/jdk)
|-- bin
|-- demo
|-- include
|-- jre
| |-- bin
| `-- lib
`-- lib

1.3.1 在 Windows 下设置

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

set JAVA_HOME=C:\jdk
set PATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command
set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.

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

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

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

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

C:\>set CLASSPATH=C:\jdk\jre\lib\rt.jar;. // 设置 CLASSPATH 环境变量,注意最后有一个 “.”
C:\>cd java // 转到 C:\java 目录
C:\java>java HelloJava // 运行 HelloJava
Hello, Java. // 运行结果
C:\java>_

该例将在 1.3.3 节中分析。

1.3.2 在 Linux 下设置

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

export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.

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

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

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

[fancy@matrix fancy]$ export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. // 设置 CLASSPATH,注意最后的“.”
[fancy@matrix fancy]$ cd ~/java // 转到 /home/fancy/java
[fancy@matrix java]$ pwd // 显示当前目录
/home/fancy/java // 当前目录是 /home/fancy/java
[fancy@matrix java]$ java HelloJava // 运行 HelloJava
Hello, Java // 运行结果
[fancy@matrix java]$ _

该例将在 1.3.3 节中分析

1.3.3 实例分析

1.3.1 节和 1.3.2 节中的用到的实际上是一样的例子,只是操作系统不同,略有差别。

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics