附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第 1 节 ~ 第 6 节, 学 习 完 第 二 章 后 可 配 合 本 教 程 的 第 7 节, 开 始 学 习 第 十 四 章 时 可 配 合 本 教 程 的 第 8 节 0 简 介 该 教 程 的 使 用 者 包 括 正 在 通 过 使 用 Eclipse 来 学 习 Java 课 程 的 学 生 和 想 要 用 Eclipse 开 发 Java 项 目 的 程 序 员 Eclipse 是 由 IBM 提 供 的 一 个 开 源 的 Java 程 序 开 发 软 件 你 也 可 以 使 用 JDK 命 令 行 工 具 来 写 Java 程 序 JDK 命 令 行 工 具 包 括 一 系 列 独 立 的 程 序, 如 编 译 器 和 解 释 器, 都 可 从 命 令 行 来 激 活 除 了 JDK 命 令 行 工 具, 市 场 上 还 有 很 多 Java 的 开 发 工 具, 包 括 Borland 公 司 的 JBuilder NetBeans Sun 公 司 的 ONE Studio( 商 业 版 的 NetBeans) Eclipse 和 WebGain Visual Café 这 些 工 具 为 快 速 开 发 Java 程 序 提 供 集 成 的 开 发 环 境 (IDE) 编 辑 编 辑 构 造 调 试 和 在 线 帮 助 被 集 成 在 一 个 用 户 图 形 界 面 有 效 的 使 用 将 会 极 大 的 提 高 编 程 速 度 这 个 简 短 的 教 程 将 会 帮 助 你 熟 悉 Eclipse, 尤 其 是 在 创 建 项 目 创 建 程 序 编 译 和 运 行 程 序 方 面 提 示 :Eclipse 可 运 行 在 任 何 的 Java 虚 拟 机 之 上 本 文 中 所 有 的 屏 幕 截 图 都 来 自 于 运 行 在 Windows 之 上 的 Eclipse3.0 你 可 以 到 www.eclipse.com 下 载 Eclipse 1
安 装 提 示 : 安 装 Eclipse 之 前 必 须 安 装 JDK1.5 JDK1.5 可 以 从 http://java.sun.com/j2se/1.5/download.html 下 载 Windows 版 本 的 Eclipse 存 放 在 压 缩 文 件 eclipse-sdk-3.0-win32.zip 中 将 文 件 解 压 缩 到 c:\ 下, 解 压 缩 后 所 有 的 文 件 都 放 在 c:\eclipse 中 1 开 始 使 用 Eclipse 假 设 你 已 经 将 Eclipse 安 装 在 目 录 c:\eclipse 下 要 启 动 Eclipse, 双 击 c:\eclipse 目 录 下 的 eclipse 图 标 ( 如 图 1): 图 1 双 击 后 出 现 了 工 作 区 装 载 窗 口 ( 如 图 2): 图 2 输 入 你 的 工 作 区 所 在 的 目 录, 本 例 所 有 项 目 程 序 都 存 放 在 c:\smith 目 录 下, 故 输 入 c:\smith, 然 后 点 击 OK,Eclipse 的 图 形 界 面 就 展 现 在 你 的 眼 前 了 ( 如 图 3) 2
图 3 如 果 你 的 工 作 区 已 经 有 项 目 存 在, 则 项 目 就 会 显 示 在 图 形 界 面 上 工 作 区 实 际 上 是 一 个 存 放 项 目 文 件 的 目 录 2 选 择 一 种 透 视 图 透 视 图 是 为 了 定 义 Eclipse 在 窗 口 里 显 示 的 最 初 的 设 计 和 布 局 透 视 图 主 要 控 制 在 菜 单 和 工 具 上 显 示 什 么 内 容 比 如, 一 个 Java 透 视 图 包 括 常 用 的 编 辑 Java 源 程 序 的 视 图, 而 用 于 调 试 的 透 视 图 则 包 括 调 试 Java 程 序 时 要 用 到 的 视 图 你 可 以 转 换 透 视 图, 但 是 必 须 为 一 个 工 作 区 设 置 好 初 始 的 透 视 图 要 创 建 Java 程 序, 需 要 从 主 菜 单 选 择 Window, 然 后 选 择 菜 单 项 Open Perspective, 最 后 选 择 Java( 如 图 4) 3
设 置 完 毕 后 我 们 看 到 用 户 界 面 如 图 5: 图 4 图 5 3 创 建 一 个 项 目 要 创 建 一 个 新 项 目, 需 要 选 择 菜 单 项 File->New->Project 来 启 动 新 项 目 创 建 向 导, 如 图 6 所 示 4
图 6 选 择 Java Project 然 后 点 击 按 钮 Next 进 入 下 一 步, 见 图 7: 图 7 在 Project name 处 键 入 项 目 名 称 myjavaprograms, 在 你 键 入 的 同 时 Directory 处 的 路 径 也 自 动 更 新 为 C:\smith\myjavaprograms, 确 定 你 选 择 了 图 7 红 色 圈 中 的 选 项 Create 5
project in workspace 和 蓝 色 圈 中 的 选 项 Use project folder as root for sources and class files 点 击 按 钮 Finish 完 成 项 目 的 创 建 4 创 建 程 序 项 目 创 建 完 毕 后 就 可 以 在 这 个 项 目 中 创 建 程 序 了, 选 择 菜 单 项 File->New->Class 来 启 动 Java 类 创 建 向 导, 如 图 8 图 8 在 Name 后 面 的 文 本 框 中 输 入 Welcome, 检 查 是 否 选 中 了 选 项 public void main(string[] args) 点 击 按 钮 Finish 从 Java Application 的 模 板 创 建 一 个 文 本 Welcome.java, 如 图 9 6
图 9 提 示 : 你 可 以 在 图 8 中 Package 后 的 文 本 框 中 输 入 包 名 来 创 建 一 个 包 放 置 Java 程 序 ( 见 图 8 蓝 色 圈 ) 因 为 本 书 中 的 Java 源 程 序 没 有 用 到 包, 所 以 Package 后 的 文 本 框 没 有 填 入 内 容 对 应 到 图 9, 由 于 用 户 没 有 输 入 Welcome.java 所 属 的 包, 所 以 系 统 将 这 类 程 序 都 放 到 系 统 的 默 认 包 (default package) 中, 见 图 9 蓝 色 圈 中 内 容 在 程 序 Welcome.java 的 main 方 法 中 输 入 语 句 System.out.println( Welcome to Java ); 提 示 : 在 你 键 入 程 序 的 同 时, 代 码 帮 助 工 具 会 自 动 给 你 提 示 来 帮 助 你 完 成 程 序 的 编 写 比 如 当 你 在 System 后 面 键 入 点 (.) 后 稍 等 1 秒,Eclipse 就 会 显 示 一 个 弹 出 菜 单 来 帮 你 完 成 代 码, 如 图 10 所 示 你 可 以 从 Eclipse 提 供 的 下 拉 菜 单 中 选 择 合 适 的 选 项 来 完 成 代 码 7
图 10 5 编 译 和 运 行 程 序 一 般 情 况 下, 源 代 码 在 你 键 入 的 时 候 就 会 自 动 进 行 编 译 比 如, 如 果 你 忘 记 在 语 句 结 束 的 时 候 键 入 分 号 (;), 见 图 11, 那 么 你 就 会 看 到 一 条 红 色 的 波 浪 线 来 指 出 你 的 错 误 线 了 图 11 在 运 行 程 序 前 要 保 证 程 序 是 正 确 并 被 编 译 通 过 了, 换 句 话 说 就 是 程 序 中 没 有 红 色 的 波 浪 8
要 运 行 程 序 Welcome.java, 右 键 点 击 Package 视 图 中 的 该 程 序, 在 弹 出 的 菜 单 中 选 择 Run->JavaApplication, 见 图 12, 程 序 运 行 的 结 果 显 示 在 控 制 台 的 窗 格 中, 见 图 13 图 12 图 13 9
6 在 命 令 行 运 行 Java Applications 除 了 使 用 工 具 软 件 来 运 行 Java 程 序, 还 可 以 直 接 在 操 作 系 统 上 单 独 运 行 Java 程 序 下 面 是 在 DOS 命 令 提 示 符 下 运 行 Java 程 序 的 步 骤 : 1. 点 击 Windows 左 下 角 的 开 始 -> 程 序 -> 附 件 -> 命 令 提 示 符 打 开 DOS 窗 口 2. 输 入 下 名 的 命 令 来 设 置 Java 程 序 运 行 的 环 境 set path=%path%;c:\j2sdk1.5\bin set classpath=.;%classpath% 3. 输 入 命 令 cd c:\smith\myjavaprograms 到 存 放 你 所 编 写 程 序 的 目 录 下 4. 输 入 命 令 java Welcome 来 运 行 程 序 运 行 输 出 的 界 面 如 图 14 所 示 : 图 14 提 示 : 你 也 可 以 使 用 javac Welcome.java 命 令 在 DOS 提 示 符 下 编 译 程 序 Welcome.java, 如 图 14 所 示 7 调 试 Eclipse 还 集 成 了 调 试 工 具 你 可 以 不 用 离 开 集 成 环 境 就 可 以 通 过 Eclipse 调 试 器 的 帮 助 来 找 到 错 误 Eclipse 调 试 器 提 供 了 断 点 设 置 的 功 能 使 你 可 以 一 行 一 行 的 执 行 程 序 在 程 序 执 行 的 同 时, 你 可 以 看 到 变 量 存 储 了 什 么 值, 研 究 哪 一 个 方 法 被 调 用 了, 并 且 知 道 程 序 将 要 10
发 生 什 么 事 件 我 们 通 过 例 2.4( 显 示 当 前 时 间 ) 来 说 明 程 序 如 何 调 试 在 工 作 区 c:\smith 下 创 建 一 个 新 的 类 ShowCurrentTime.java, 程 序 内 容 如 书 p61 例 2.4 7.1 设 置 断 点 你 可 以 通 过 一 行 一 行 的 执 行 程 序 来 追 踪 它, 但 是 对 于 调 试 大 型 程 序 来 说 这 样 很 费 时 间 通 常, 我 们 知 道 程 序 中 哪 些 部 分 运 行 正 常, 这 些 部 分 就 不 需 要 追 踪, 我 们 只 需 要 追 踪 有 可 能 出 现 问 题 的 代 码 行, 这 种 情 况 下, 我 们 就 可 以 使 用 断 点 断 点 是 放 置 在 源 程 序 中 告 诉 调 试 器 到 这 一 行 暂 停 的 标 志 调 试 器 依 次 运 行 程 序 直 到 遇 到 断 点 停 止, 所 以 你 可 以 追 踪 在 设 置 断 点 的 那 部 分 程 序 使 用 断 点, 你 可 以 很 快 的 越 过 工 作 正 常 的 程 序 从 而 找 到 引 起 问 题 的 那 部 分 程 序 有 几 种 方 式 可 以 在 一 行 上 设 置 断 点, 最 快 的 方 法 就 是 在 你 要 设 置 断 点 的 那 一 行 的 开 始 处 双 击, 你 会 看 到 这 行 被 选 中, 见 图 15 你 还 可 以 通 过 菜 单 项 Run->Toggle Line Breakpoint 要 删 除 断 点, 双 击 该 行 的 断 点 处 即 可 在 你 调 试 程 序 时, 你 可 以 设 置 任 意 多 个 断 点, 在 调 试 的 过 程 中 也 可 以 随 时 删 除 断 点 在 你 退 出 项 目 的 时 候 Eclipse 会 在 项 目 中 保 留 你 设 置 的 断 点 在 你 重 新 打 开 项 目 的 时 候 断 点 仍 然 保 存 在 项 目 中 图 15 11
7.2 启 动 调 试 器 有 几 种 方 式 可 以 启 动 调 试 器, 一 种 简 单 方 式 如 下 所 示 : 1. 在 代 码 编 辑 器 中, 在 main 方 法 的 第 一 句 设 置 断 点 2. 在 项 目 面 板 右 键 点 击 ShowCurrentTime.java 在 弹 出 的 菜 单 中 选 择 Debug->Java Application 来 启 动 调 试 器, 你 就 会 看 到 对 话 框 Confirm Perspective Switch, 如 图 16, 点 击 按 钮 Yes 进 入 调 试 透 视 图 图 16 图 17 7.3 控 制 程 序 的 执 行 程 序 会 停 在 main 方 法 的 第 一 行 ( 整 个 程 序 的 第 6 行 ), 这 一 行, 称 为 当 前 正 在 执 行 的 12
断 点, 用 绿 色 背 景 标 识 和 强 调 出 来 正 在 执 行 的 断 点 也 指 明 了 调 试 器 要 进 行 调 试 的 下 一 行 代 码 当 程 序 在 执 行 断 点 处 停 止 时, 你 可 以 发 表 调 试 意 见 来 控 制 程 序 的 执 行 你 也 可 以 预 测 和 修 改 程 序 中 变 量 的 值 当 Eclipse 处 于 调 试 状 态 下 时, 工 具 栏 用 于 调 试 的 按 钮 显 示 在 调 试 窗 口, 见 图 17 红 色 圈 工 具 栏 的 按 钮 也 出 现 在 主 菜 单 Run 中 以 下 是 控 制 程 序 执 行 的 命 令 : Resume 继 续 执 行 被 暂 停 的 程 序 Suspend 挂 起, 暂 停 一 个 程 序 的 执 行 Terminate 终 止, 停 止 当 前 的 调 试 活 动 Step Into 逐 步 执 行, 执 行 一 条 语 句, 或 者 步 入 一 个 方 法 Step Over 执 行 整 体, 执 行 一 条 语 句, 如 果 这 条 语 句 包 含 对 一 个 方 法 的 调 用, 那 么 不 中 断 的 执 行 完 这 个 方 法 Step Return 返 回, 执 行 完 当 前 方 法 中 的 所 有 语 句 后 返 回 调 用 这 个 方 法 的 主 方 法 Run to Line 从 开 始 处 运 行 程 序, 到 正 在 执 行 的 断 点 暂 停 13
7.4 检 查 和 修 改 变 量 大 多 数 功 能 强 大 的 集 成 调 试 器 都 具 备 检 查 变 量 数 组 元 素 对 象 的 值 和 方 法 调 用 过 程 中 参 数 值 的 功 能 如 果 你 想 使 用 一 个 新 的 变 量 值 进 行 调 试 而 不 想 重 新 启 动 程 序, 你 甚 至 还 可 以 直 接 在 调 试 器 中 修 改 变 量 的 值 为 了 说 明 这 个 功 能, 选 择 Run->Step Over to execute one line, 可 以 看 到 在 变 量 面 板 上 显 示 处 了 变 量 totalmilliseconds 的 值, 如 图 19 图 19 提 示 : 调 试 器 是 一 个 不 可 缺 少 的 功 能 强 大 的 工 具, 它 可 以 提 高 你 的 编 程 量 一 开 始 你 需 要 一 些 时 间 去 熟 悉 它, 但 是 你 的 努 力 会 在 将 来 的 很 长 一 段 时 间 得 到 回 报 注 : 调 试 器 不 仅 仅 是 一 个 查 找 错 误 的 重 要 工 具, 也 是 一 个 学 习 编 程 的 很 好 的 教 学 工 具 在 调 试 后 可 以 选 择 java 透 视 图 切 换 窗 口,Window->Open Perspective->Java 14
8 创 建 和 测 试 Java Applets 你 可 以 用 与 创 建 Java Application 同 样 的 方 法 来 创 建 Java Applet, 例 如,14 章 类 WelcomeApplet.java, 如 图 21 图 21 要 运 行 一 个 applet 程 序, 选 择 Run->Run as-> Java Applet, 如 图 22 所 示,Eclipse 会 自 动 为 该 程 序 创 建 一 个 HTML 文 件 并 且 将 applet 包 含 进 去, 然 后 启 动 appletviewer 工 具 来 运 行 applet, 如 图 23 所 示 : 图 23 15