内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集 成 开 发 环 境 Eclipse 的 下 载 / 安 装 / 配 置
关 于 作 者 刘 晓 涛,ChinaITLab 网 校 著 名 讲 师, 八 年 多 的 软 件 项 目 分 析 设 计 经 验 及 教 学 咨 询 经 验, 主 导 过 多 个 大 型 项 目 的 架 构 分 析 与 设 计, 如 某 赛 马 会 运 营 系 统 某 电 信 业 务 支 撑 系 统 CRM 系 统 等 等 ; 国 内 较 早 从 事 JAVA/J2EE 技 术 教 学 与 实 践 的 先 行 者, 对 OOA OOD 体 系 结 构 CBD 设 计 模 式 等 有 独 到 的 见 解 ; 涉 猎 很 广, 主 要 讲 授 课 程 有 JAVA J2EE UML XML 设 计 模 式 OOA&OOD&ROSE VB.NET ASP.NET C#.NET 软 件 工 程 CBD 开 发 SqlServer C++ LINUX 等 等 ; 是 印 度 NIIT 认 证 授 权 讲 师 (NIIT 深 圳 培 训 中 心 首 席 高 级 讲 师 ), 参 加 过 IBM 师 资 培 训, 是 IBM 授 权 讲 师, 并 成 为 IBM 认 证 的 DB2 数 据 库 管 理 员 ; 深 受 社 会 企 事 业 单 位 政 府 部 门 等 广 泛 认 可 与 好 评
目 录 目 录...1 全 程 指 导 LINUX 下 JAVA 环 境 配 置...2 1 争 奇 斗 妍 的 开 放 世 界...2 2 下 载 安 装 RPM 格 式 的 JDK...2 2.1 下 载 RPM 格 式 的 JDK...2 2.2 安 装 RPM 格 式 的 JDK...4 3 需 要 配 置 的 环 境 变 量...4 3.1 PATH 环 境 变 量...4 3.2 CLASSPATH 环 境 变 量...5 3.3 JAVA_HOME 环 境 变 量...5 4 三 种 配 置 环 境 变 量 的 方 法...5 4.1 修 改 /etc/profile 文 件...5 4.2 修 改.bashrc 文 件...6 4.3 直 接 在 shell 下 修 改...7 5 验 证 JDK 安 装 情 况...7 5.1 java version 查 看 版 本 等 信 息...7 5.2 用 VI 编 辑 器 编 写 一 个 HelloWorld 程 序...7 5.3 编 译 :javac HelloWorld.java...8 5.4 运 行 :java HelloWorld...8 6 卸 载 JDK5.0...8 7 下 载 安 装 ECLIPSE...9 7.1 如 何 下 载?...9 7.2 解 开 压 缩 包...9 8 验 证 ECLIPSE 安 装 情 况...11 附 录 参 考 资 源...16 http://www.chinaitlab.com 1
全 程 指 导 Linux 下 JAVA 环 境 配 置 CHINAITLAB 刘 晓 涛 1 争 奇 斗 妍 的 开 放 世 界 Linux 以 其 免 费 开 源 等 特 性 正 获 得 越 来 越 多 企 业 的 重 视, 特 别 是 开 发 人 员 对 Linux 更 是 青 睐 有 加,Linux 让 我 们 可 以 呼 吸 到 自 由 清 新 的 空 气 JAVA 也 是 一 种 开 放 式 的 技 术,JAVA 的 标 准 规 范 并 不 是 掌 握 在 SUN 公 司 一 家 手 上, 而 是 由 业 界 重 量 级 厂 商 和 技 术 专 家 组 成 的 JCP 组 织 来 共 同 制 定 JAVA 规 范, 共 同 决 定 JAVA 的 未 来 ; 因 此 JAVA 开 发 人 员 的 命 运 并 非 掌 握 在 SUN 公 司 一 家 手 上, 也 就 是 说 JAVA 从 业 人 员 不 会 因 为 SUN 公 司 有 什 么 三 长 两 短 而 在 JAVA 上 的 投 资 就 付 诸 东 流 JAVA 技 术 与 开 源 开 放 的 技 术 可 以 说 是 血 脉 相 连 同 呼 吸 共 命 运, 众 多 开 源 软 件 或 框 架 如 Tomcat/Eclipse/JUnit/Struts/Hibernate 等 等 层 出 不 穷, 让 JAVA 从 业 人 员 眼 花 缭 乱, 疲 于 奔 命 ; 但 生 活 还 得 继 续 也 许 你 所 在 的 公 司 已 经 是 在 Linux 平 台 上 开 发 JAVA 程 序 了, 那 本 文 可 能 不 适 合 你, 因 为 本 文 是 在 Linux 下 配 置 JDK 和 Eclipse, 如 果 你 正 想 把 JAVA 开 发 环 境 迁 移 到 Linux 平 台, 那 就 随 我 进 入 这 个 争 奇 斗 妍 的 开 放 世 界 吧! 2 下 载 安 装 RPM 格 式 的 JDK 2.1 下 载 RPM 格 式 的 JDK 1. 在 浏 览 器 地 址 栏 输 入 :http://java.sun.com/j2se/1.5.0/download.jsp 2. 可 以 选 择 集 成 了 NetBeans(SUN 公 司 的 一 种 JAVA 集 成 开 发 环 境 IDE) 的 JDK, 点 击 Download JDK 5.0 Update 4 with NetBeans 4.1 Bundle ; 如 果 你 使 用 的 IDE 不 是 NetBeans, 而 是 Eclipse 或 其 他 IDE, 最 好 选 择 不 带 NetBeans 的 JDK( 小 多 了 ), 这 时 只 需 点 击 Download JDK 5.0 Update 4, 我 们 这 里 只 需 要 JDK 即 可 http://www.chinaitlab.com 2
如 图 一 : 3. 在 跳 出 的 安 全 警 报 窗 口 中 单 击 是 按 纽, 点 击 在 Linux Platform-J2SE(TM) Development Kit 5.0 Update 4 下 有 如 图 二 两 个 选 择 : 选 择 Accept License Agreement, 点 击 Linux RPM in self-extracting file 可 以 下 载 jdk-1_5_0_04-linux-i586-rpm.bin 啦 ( 有 时 需 要 登 录, 郁 闷, 另 外 该 文 件 是 撰 写 本 文 时 的 最 新 版 本, 你 看 到 本 文 时 可 能 已 经 更 新 ), 它 是 RPM 格 式 的 JDK, 推 荐 使 用, 因 为 安 装 比 较 简 单, 我 们 演 示 安 装 的 就 是 RPM 格 式 的 JDK http://www.chinaitlab.com 3
2.2 安 装 RPM 格 式 的 JDK 2.2.1 给 文 件 jdk-1_5_0_04-linux-i586-rpm.bin 增 加 可 执 行 权 限 在 shell 终 端 执 行 命 令 :chmod 755 jdk-1_5_0_04-linux-i586-rpm.bin 注 意 : 如 果 选 择 在 系 统 范 围 的 位 置 ( 如 /usr/local) 安 装 此 软 件 包, 您 必 须 首 先 以 超 级 用 户 身 份 登 录, 以 便 获 取 必 要 的 权 限 2.2.2 执 行 jdk-1_5_0_04-linux-i586-rpm.bin 在 shell 终 端 执 行 命 令 :./ jdk-1_5_0_04-linux-i586-rpm.bin 这 时 会 出 现 一 段 协 议, 连 敲 空 格 键, 当 询 问 是 否 同 意 的 时 候, 敲 yes 即 可 如 果 你 在 PATH 环 境 变 量 中 加 入 了 当 前 目 录 的 话, 则 可 以 直 接 运 行 jdk-1_5_0_04-linux-i586-rpm.bin, 执 行 后 就 生 成 了 rpm 文 件 jdk-1_5_0_04-linux-i586.rpm 2.2.3 安 装 RPM 包 文 件 在 shell 终 端 执 行 命 令 :rpm ivh jdk-1_5_0_04-linux-i586.rpm 到 100% 时 JDK 就 安 装 好 了, 为 了 能 够 方 便 开 发, 我 们 还 需 要 配 置 相 应 的 环 境 变 量, 如 PATH/CLASSPATH/JAVA_HOME 等 3 需 要 配 置 的 环 境 变 量 需 要 配 置 的 环 境 变 量 有 PATH,CLASSPATH,JAVA_HOME 3.1 PATH 环 境 变 量 作 用 是 指 定 命 令 搜 索 路 径, 在 shell 下 面 执 行 命 令 时, 它 会 到 PATH 变 量 http://www.chinaitlab.com 4
所 指 定 的 路 径 中 查 找 看 是 否 能 够 找 到 相 应 的 命 令 程 序, 能 找 到 的 话 就 执 行, 不 能 找 到 就 提 示 command not found 错 误 我 们 需 要 把 JDK 安 装 目 录 下 的 bin 目 录 增 加 到 现 有 PATH 变 量 中,bin 目 录 中 包 含 经 常 要 用 到 的 可 执 行 文 件 如 javac/java/javadoc 等 等, 设 置 了 PATH 后, 就 可 以 在 任 何 目 录 下 执 行 javac/java 等 工 具 了 3.2 CLASSPATH 环 境 变 量 作 用 是 指 定 类 搜 索 路 径, 要 使 用 别 人 编 写 好 的 类, 前 提 当 然 是 能 够 找 到 它 们 了, JVM 就 是 通 过 CLASSPATH 来 寻 找 类 的 我 们 需 要 把 JDK 安 装 目 录 下 的 lib 子 目 录 中 的 dt.jar 和 tools.jar 设 置 到 CLASSPATH 中, 当 然 当 前 目 录. 也 必 须 加 入 到 CLASSPATH 中 3.3 JAVA_HOME 环 境 变 量 JAVA_HOME 环 境 变 量 指 向 JDK 的 安 装 目 录,Eclipse 与 Tomcat 等 软 件 就 是 通 过 搜 索 JAVA_HOME 变 量 来 找 到 并 使 用 安 装 好 的 JDK 4 三 种 配 置 环 境 变 量 的 方 法 配 置 环 境 变 量 的 方 法 有 三 种, 选 其 一 即 可 4.1 修 改 /etc/profile 文 件 如 果 你 的 Linux 机 器 仅 仅 作 为 开 发 机 器 时 推 荐 使 用, 因 为 所 有 用 户 的 shell 都 有 权 使 用 这 些 环 境 变 量, 可 能 会 给 系 统 带 来 安 全 性 问 题 在 shell 终 端 执 行 命 令 :vi /etc/profile 在 profile 文 件 末 尾 加 入 : JAVA_HOME=/opt/jdk1.5.0_02 http://www.chinaitlab.com 5
PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar: JAVA_HOME/lib/tools.jar export JAVA_HOME,PATH,CLASSPATH 重 新 登 录 注 解 : A. /opt/jdk1.5.0_02 是 笔 者 机 器 上 JDK 安 装 目 录, 你 需 要 换 成 自 己 的 JDK 安 装 目 录 B. Linux 下 是 用 冒 号 : 来 分 隔 路 径 C. $PATH/$CLASSPATH/$JAVA_HOME 是 用 来 引 用 原 来 环 境 变 量 的 值, 在 设 置 环 境 变 量 时 特 别 要 注 意 不 能 把 原 来 的 值 给 覆 盖 掉 了, 这 是 一 种 常 见 的 错 误 D. CLASSPATH 中 当 前 目 录. 不 能 丢, 把. 丢 掉 也 是 一 种 常 见 的 错 误 E. export 是 把 JAVA_HOME,PATH,CLASSPATH 导 出 为 全 局 变 量 F. 大 小 写 严 格 区 分 4.2 修 改.bashrc 文 件 这 种 方 法 更 为 安 全, 它 可 以 把 使 用 这 些 环 境 变 量 的 权 限 控 制 到 用 户 级 别 的 细 粒 度, 如 果 你 需 要 给 某 个 用 户 权 限 使 用 这 些 环 境 变 量, 你 只 需 要 修 改 其 个 人 用 户 主 目 录 下 的.bashrc 就 可 以 了 在 shell 终 端 执 行 命 令 :vi /home/lxt008/.bashrc 在.bashrc 文 件 末 尾 加 入 : 重 新 登 录 set JAVA_HOME=/opt/jdk1.5.0_02 export JAVA_HOME set PATH=$JAVA_HOME/bin:$PATH export PATH set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CLASSPATH http://www.chinaitlab.com 6
4.3 直 接 在 shell 下 修 改 不 赞 成 使 用 这 种 方 法, 因 为 换 个 shell, 你 的 设 置 就 无 效 了, 因 此 这 种 方 法 仅 仅 是 临 时 使 用, 以 后 要 使 用 的 时 候 又 要 重 新 设 置, 烦 不 胜 烦 只 需 在 shell 终 端 执 行 下 列 命 令 即 可 : export JAVA_HOME=/opt/jdk1.5.0_02 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH 5 验 证 JDK 安 装 情 况 环 境 变 量 配 置 好 之 后 就 可 以 开 始 编 写 JAVA 程 序 了, 下 面 我 们 来 验 证 安 装 的 结 果, 看 是 否 能 够 正 常 使 用 5.1 java version 查 看 版 本 等 信 息 5.2 用 VI 编 辑 器 编 写 一 个 HelloWorld 程 序 在 shell 下 面 执 行 命 令 :vi HelloWorld.java 在 HelloWorld.java 文 件 中 输 入 : public class HelloWorld { public static void main(string args[]) { System.out.println( Hello World!!! ); } } http://www.chinaitlab.com 7
5.3 编 译 :javac HelloWorld.java 5.4 运 行 :java HelloWorld 正 常 运 行 如 下 图, 说 明 JDK 已 经 成 功 安 装 6 卸 载 JDK5.0 如 果 你 的 JDK 惨 遭 破 坏, 那 么 你 可 以 卸 载 重 新 安 装 找 到 JDK 安 装 目 录 的 _uninst 子 目 录 键 入./uninstall.sh 以 运 行 卸 载 程 序 http://www.chinaitlab.com 8
7 下 载 安 装 Eclipse JDK 安 装 配 置 好 之 后, 我 们 就 可 以 开 始 对 付 天 生 尤 物 Eclipse 了, 她 具 备 高 贵 的 血 统, 系 出 名 门 (IBM), 她 是 强 大 的 集 成 开 发 环 境, 更 让 我 们 这 些 穷 程 序 员 高 兴 的 是, 她 竟 然 是 免 费 的 让 我 们 开 始 品 尝 Eclipse Let S GO!! 7.1 如 何 下 载? 下 载 地 址 :http://www.eclipse.org 点 击 左 边 导 航 条 中 的 downloads, 很 舒 服 的 是 网 站 会 检 测 你 的 操 作 系 统 并 自 动 进 入 相 应 的 下 载 页 面 推 荐 选 择 北 美 的 加 拿 大 下 载 较 快 ( 本 地 机 器 测 试 结 果, 仅 仅 是 建 议, 不 保 证 在 你 机 器 上 很 快, 哈 哈, 不 要 找 我 打 官 司 ) 7.2 解 开 压 缩 包 下 载 过 来 的 文 件 是 eclipse-sdk-3.1-linux-gtk.tar.gz( 撰 写 本 文 时 的 最 新 版 本, 你 看 到 本 文 时 可 能 已 经 更 新 ), 需 要 解 压 解 包 在 shell 下 当 前 目 录 执 行 解 压 :gunzip eclipse-sdk-3.1-linux-gtk.tar.gz 得 到 eclipse-sdk-3.1-linux-gtk.tar 文 件 再 执 行 解 包 :tar xvf eclipse-sdk-3.1-linux-gtk.tar 获 得 eclipse 文 件 夹 即 可 在 桌 面 上 创 建 一 个 启 动 器 ( 类 似 于 Windows 下 的 桌 面 快 捷 方 式 ) 右 键 单 击 图 形 终 端 桌 面 选 择 新 建 启 动 器 路 径 设 置 到 /home/lxt008/eclipse/eclipse, 笔 者 的 eclipse 安 装 在 /home/lxt008/eclipse, 你 需 要 换 成 你 自 己 的 目 录 图 标 设 置 为 http://www.chinaitlab.com 9
eclipse/icon.xpm 名 字 栏 输 入 Eclipse 确 定 后 就 可 以 在 桌 面 发 现 可 爱 的 启 动 器 了 双 击 桌 面 上 刚 建 好 的 启 动 器, 或 者 直 接 在 shell 终 端 执 行 eclipse 可 执 行 文 件, 均 可 启 动 eclipse, 启 动 后 出 现 下 面 的 界 面, 这 时 候 eclipse 自 动 打 开 了 Welcome 项 目 终 于 大 功 告 成 啦, 先 喝 杯 咖 啡, 然 后 进 入 下 一 个 环 节, 用 如 雷 贯 耳 的 eclipse 编 写 http://www.chinaitlab.com 10
一 个 HelloWorld 程 序 8 验 证 Eclipse 安 装 情 况 1 启 动 eclipse: 双 击 桌 面 上 刚 建 好 的 启 动 器 2 选 择 File New Project 3 选 择 Java Project 向 导, 如 下 图 : 4 点 击 Next, 进 入 下 图 (New Java Project 窗 口 ), 在 这 里 你 可 以 给 项 目 取 名 字, 也 可 以 选 择 合 适 的 JDK http://www.chinaitlab.com 11
5 点 击 Configure default, 进 入 JDK 选 择 界 面, 笔 者 选 择 的 是 5.0 版 本, 在 这 里 也 可 以 选 择 合 适 版 本 的 JRE( 即 JAVA 运 行 环 境 ), 如 下 图 : 6 点 ok Next Finish, 再 关 闭 第 一 次 启 动 eclipse 时 自 动 启 动 的 Welcome 项 目, 你 就 可 以 看 到 你 刚 刚 创 建 的 FirstJavaProject 项 目 了 http://www.chinaitlab.com 12
7 项 目 建 好 后, 接 下 来 就 是 创 建 HelloWorld.java 文 件 啦, 选 择 File New Class 输 入 类 名 字 为 HelloWorld, 并 把 main 方 法 也 选 上, 点 击 Finish,HelloWorld 类 就 由 向 导 帮 我 们 建 好 了 8 在 main 方 法 中 加 入 代 码 System.out.println( Hello World!!! );, 不 含 http://www.chinaitlab.com 13
引 号 9 运 行 : 选 择 Run 菜 单 选 择 Run, 需 要 新 建 一 个 运 行 时 配 置 才 能 运 行, 我 们 创 建 的 HelloWorld 类 是 一 个 独 立 运 行 的 JAVA 程 序, 因 此 在 出 现 的 窗 口 中 的 Configurations 框 中 选 择 Java Application, 再 点 击 New, 选 择 你 需 要 运 行 的 项 目, 设 置 Main Class( 即 项 目 运 行 时 首 先 运 行 的 主 类, 本 例 中 只 有 一 个 类, 理 所 当 然 HelloWorld 类 就 是 Main Class 啦 ) 10 最 后 点 击 Run 按 纽, 如 果 没 保 存 过 文 件 的 话,eclipse 会 要 求 保 存 文 件, 然 后 自 动 编 译 HelloWorld.java, 并 运 行 生 成 的 HelloWorld 类, 结 果 如 下 图, 输 出 了 字 符 串 HelloWorld!!! http://www.chinaitlab.com 14
恭 喜 你, 终 于 结 束 了 ; 不 过 万 里 长 征 只 踏 出 了 一 步, 挑 战 还 在 后 头 http://www.chinaitlab.com 15
附 录 参 考 资 源 资 源 ------------------------------------------------------------------- 附 录 本 附 录 包 括 内 容 : 工 具 下 载 1000 本 电 子 书 在 线 课 堂 技 术 专 题 http://www.chinaitlab.com 16
1. 工 具 下 载 : http://java.sun.com/j2se/1.5.0/ch/install_jdk1_5_04-nb41_all.html 在 Linux 操 作 系 统 上 安 装 J2SE JDK 5.0 和 NetBeans IDE 4.1 软 件 包 2. Java 电 子 书 下 载 : 1000 本 java 电 子 书 3. 网 上 中 文 java 视 频 课 程 刘 晓 涛 Java 就 业 直 通 班 V2.0 刘 晓 涛 J2EE Web 程 序 开 发 定 向 班 V1.0 4.Java 技 术 文 档 与 专 题 : http://www.chinaitlab.com/www/news/java/ http://www.chinaitlab.com 17