“精通 Eclipse” 这一系列文章将向 Eclipse 新手讲授 Eclipse IDE 的详细内容。在学完本系列后,您将成长为一名高级用户。在本文中,您将了解如何使用 Eclipse IDE 的各个部分。
本文将介绍 Java™ Development Tools(JDT),演示一些常用功能并说明如何自定义这些常用功能。还将讨论 Eclipse 集成开发环境(IDE)不同于其他环境的概念和功能,或者 JDT 新用户不容易发现的功能。如果您刚开始使用 Eclipse V3.4,请参阅 第 1 部分。
JDT 是什么?
Eclipse 与 Java 开发是同义语。但是,对于大多数 Eclipse 新手来说,Eclipse 与 Java 技术之间的关系可能并不十分清晰。
Eclipse 是用 Java 编程语言编写的骨架平台。在 IDE 之上编写的插件(例如 Mylar 和 Findbugs)将提供其功能,并且 Java 语言允许 Eclipse 像 Java IDE 一样运行。可能由于 JDT 是 Eclipse 下载默认附带的,因此当开发人员说他们使用 Eclipse 进行 Java 开发时,他们实际上指的是使用 JDT,这一点可能不会让人立刻明白。
分析 Java 项目
图 1. 在 Package Explorer 中查看到的典型 Java 项目
|
Java 项目由以下元素组成:
- src 文件夹
- 此文件夹包含应用程序的实际源代码。默认情况下,当您创建一个新 Java 项目时,Eclipse 将创建保存所有源代码的 src 文件夹,但是可以添加任意一个文件夹作为源代码文件夹。例如,许多人喜欢用 tests 文件夹保存创建的所有测试用例。要将 tests 文件夹添加到项目中,请执行以下操作:
- 右键单击项目,然后单击 New > Folder。
- 键入文件夹的名称(在本例中为 tests)并单击 OK。
- 右键单击 tests 文件夹,然后单击 Build Path > Use as Source Folder。
- 输出文件夹
- 此文件夹包含通过源代码生成的 .class 文件夹。默认情况下,Eclipse 将创建 bin 文件夹来保存这些内容。
- 引用库
- 这些是当前项目引用的库或工作空间中的其他 Java 项目。当 Eclipse 构建或运行 Java 项目时,这些内容将被添加到构建路径和 CLASSPATH 中。
设置构建路径
许多时候,Java 项目都使用位于计算机中的其他一些 Java 存档(JAR)或者同一个工作空间中的其他一些项目中的类。要使用这些类,必须把相应的项目/JAR 添加到当前项目的构建路径中。否则,Eclipse 将显示项目中的编译错误。要修改项目的构建路径,请执行以下操作:
- 右键单击 Package Explorer 中的项目并单击 Settings。
- 在显示的窗口中,选择 Java Build Path。
- 要将项目添加到构建路径所在的工作空间中,单击 Projects 选项卡,然后单击 Add。
- 在构建路径中选择项目,然后单击 OK。
要将 JAR 添加到项目中,请执行以下操作:
- 单击 Libraries 选项卡。
图 2. 修改构建路径
- 单击 Add external JARs,然后选择需要添加的 JAR。
自定义编译器设置
Eclipse 允许自定义内置 Java 编译器的设置。Eclipse 将使用此编译器构建项目。要自定义项目的编译器设置,请执行以下操作:
- 右键单击 Package Explorer 中的项目并单击 Settings。
- 在显示的窗口中,选择 Java Compiler。
图 3. 自定义 Java 编译器设置
- 在 Java 编译器的这个首选项页面和其余首选项页面中:
- 选择 Enable project specific settings,因此对编译器设置所做的更改仅应用于此项目。
- 单击 Configure Workspace Settings 链接把更改应用于工作空间的所有项目中。
- 在 Compiler compliance level 菜单中,选择需要编译源代码的 Java 版本。例如,如果使用的是 Java V1.5 功能,您应当选择该选项。
- 展开 Java Compiler 树,然后选择 Errors/Warnings。在这里,您可以将 Eclipse 设为标记代码中的潜在错误。如果内容非常苛刻,则可以告诉 Eclipse 忽略它(例如,Undocumented Empty Block),或者可以将项内容设为根据问题的严重程度标记警报或错误。
图 4. 自定义 Java 编译器错误和警报
注:建议将 Potential programming Problems 和 Deprecated and Restricted API 下的项至少设为 Warning 级别。您可能需要忽略 Potential programming Problems 下的 Serializable class without serialVersionUID 项,除非您打算同步许多对象。 - 在展开的 Java Compiler 树中选择 Task Tags。任务标记允许您在代码注释中给您自己或其他人留下说明。例如,您可以有这样一行://TODO this is a bug. details at http://bugs.mycompany.com/3434/。您可以在 Tasks 视图看到这些注释本身。单击 Tasks 视图中的任意一个注释将跳到它在源代码中的位置。默认情况下,Eclipse 提供了三类任务标记:FIXME、TODO 和 XXX。只需在 Java Compiler 树中选择 Task Tags(参见图 5),单击 New,并在显示的窗口中键入标记名称,就可以添加您自己的标记(例如 BUG)。您甚至可以为标记设置优先级级别,这十分有用,因为您可以按优先级排列 Tasks 视图中的注释。
图 5. 自定义任务标记
重构
重构 允许您轻松地更改一个位置中的代码并且在代码出现的其他位置显示这些更改。如果这听起来让人困惑,那么可以这样说:这一节的内容可能是 Eclipse 最精彩的部分。由于 Eclipse 包含许多重构功能,而且对所有这些功能进行说明可以自成一篇文章,因此本文主要介绍一些最常用的重构功能。
重命名重构
重命名重构 可能是所有重构中最常用的。您可以使用它重命名项目中的任何方法、变量或类。要尝试使用它,请执行以下操作:
- 在编辑器中选择任意一个变量。
- 在位于 Eclipse GUI 顶部的菜单中单击 Refactor > Rename,如图 6 所示。Java 编辑器将把框放置在变量名周围及使用它的所有位置中。
图 6. Refactor 菜单将提供许多重构功能
- 键入变量的新名称,然后按 Enter 键。使用该变量的所有位置将自动改为使用新名称。
同样地,您可以更改类和方法的名称。使用它们的所有位置都将改为使用新名称。这样,您不必手动定位调用方法的每个实例并进行更改,这将为您节省大量时间并避免潜在错误。您可以轻松地更改 Java 项目中的任何方法、变量和类的名称,而不用再去管它。
移动重构
此类重构在将类从一个包移到另一个包中时尤为有用。您可能会经常使用它 — 仅次于重命名重构。要尝试使用它,请执行以下操作:
- 右键单击 Package Explorer 中的任意一个类,然后单击 Refactor > Move。系统将打开一个窗口,该窗口显示当前项目及该项目依赖的任何其他项目中的包。
- 选择需要将该类移到哪个包中,然后单击 OK。该类将被物理地移到新包中,并且代码中对它的所有引用 — 例如 import 语句 — 将改为引用其新位置。
如果想要跳过这些步骤,您可以将类从一个包拖放到另一个包中。移动重构将自动执行。
构建 Java 项目
Eclipse 没有 Compile 按钮。这会使许多新手感到十分慌乱,但是它是 Eclipse 的另一个令人感到惊奇的功能。您永远不需要编译 Java 项目,因为始终在构建项目。只要保存文件,Eclipse 就会在后台编译它以及它影响的所有其他文件,因此您从未注意到它。此行为将减少启动项目所需的时间,因为您永远都不需要等待它重新编译。
运行项目
运行 Java 项目的最简单方法是打开包含 main 方法的文件,然后单击工具栏上的 Run。这样做将创建启动配置。下一次需要运行项目时,单击 Run 旁边的箭头,如图 7 所示并选择带有包??? main 方法的类名的配置。
图 7. 运行项目
调试项目
您应当从在代码中放置断点开始进行调试。您可以在编辑器中单击需要放置断点的行的最左侧列来完成。启动调试模式类似于运行项目,只是要单击工具栏中的 Debug 而非 Run。
图 8. 调试项目
在到达一个断点时,Eclipse 窗口将弹出到前台并且自动切换到 Debug 透视图,其中包含有助于调试程序的视图。下面是一些常用视图的简要说明:
- Debug 视图
- 该视图将控制当前运行的程序,允许您通过程序查看堆栈和步骤。您甚至可以使用该视图暂停或停止程序。
- Variables 视图
- 该视图将显示当前方法中的本地变量。值将随着您在程序中的位置变换而更改。
- Breakpoints 视图
- 该视图将列出当前断点。您可以通过选择或清除列表中的断点来启用或禁用断点。
- Expressions 视图
- 该视图允许您键入任意的 Java 表达式,并且在程序执行的当前点的上下文中查看它的值。要将 Java 表达式添加到该视图中,请执行以下操作:
- 在视图中右键单击,然后单击 Add expression。
- 在显示的窗口中,键入表达式并单击 OK。该表达式将被添加到 Expressions 视图中,并且它的值将随着对代码进行逐步调试而更新。请记住,键入修改任意变量值的表达式可能会对代码造成意外的影响。
结束语
本文说明了 Eclipse JDT 及其提供的功能。您现在知道如何根据需要自定义 JDT 的各个部分,并且应当了解了可能会令 JDT 新手感到困惑的一些事。
“精通 Eclipse” 这一系列的第 3 部分将主要介绍 JDT 的最强大部分 — 其编辑器 — 并说明其强大的功能。(责任编辑:A6)