1.4 Java开发环境Eclipse
编写Java程序可以使用任何一种文本编辑器,如UltraEdit、EditPlus、Windows记事本,甚至Word,只要把编辑后的文件保存为.java文件。当然也可以使用一些集成开发环境,如Borland公司的Jbuilder和IBM公司的Visualage for Java。本节主要介绍Eclipse开发工具。
1.4.1 概述
Eclipse是一个开放源代码且基于Java的可扩展开发平台,其本身只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。
大多数用户将Eclipse作为Java IDE来使用,但Eclipse的目标不仅限于此。它还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的开发人员,允许用户构建与Eclipse环境无缝集成的工具。由于其中的均为插件,所以对于为Eclipse提供插件,以及为用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具,尽管Eclipse是使用Java语言开发的,但其用途并不限于Java语言。例如,支持如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,如内容管理系统。
Eclipse平台是一个具有一组强大服务的框架,这些服务支持插件。该平台的主要部分为平台运行库、工作区、工作台、团队支持和帮助,如图1-17所示。
图1-17 Eclipse平台体系结构
(1)平台运行库。
平台运行库是内核,在启动时检查插件并创建关于这些插件的注册表信息。为降低启动时间和资源使用,在实际需要任何插件时才加载该插件。除了内核外,其他均作为插件来实现。
(2)工作区。
工作区是负责管理用户资源的插件,包括用户创建的项目、项目中的文件,以及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,如文件创建、删除或更改。
(3)工作台。
工作台为Eclipse提供用户界面,使用标准窗口工具包(SWT)和一个更高级的AP(I JFace)来构建。SWT是Java的Swing/AWT GUI API的非标准替代者,JFace则建立在其基础上,提供用户界面组件。
SWT已被证明是Eclipse最具争议的部分,它比Swing更紧密地映射到底层操作系统的本机图形功能。这不仅使其更快速,而且使得Java程序具有更像本机应用程序的外观和感觉。使用这个新的GUI API可能会限制Eclipse工作台的可移植性,不过针对大多数流行操作系统的SWT移植版本已经可用。
Eclipse对SWT的使用只会影响Eclipse自身的可移植性,使用Eclipse构建的任何Java应用程序都不会受到影响;除非使用SWT,而不是使用Swing/AWT。
(4)团队支持。
团队支持组件负责提供版本控制和配置管理支持,根据需要添加视图,以允许用户与所使用的任何版本控制系统(如果有的话)交互。大多数插件都不需要与团队支持组件交互,除非提供版本控制服务。
(5)帮助。
帮助组件具有与Eclipse平台本身相当的可扩展能力,与插件为Eclipse添加功能相同,帮助提供一个附加的导航结构,允许工具以HTML文件的形式添加文档。
可以选择【帮助】→【帮助内容】选项进入Eclipse的帮助系统。有了Eclipse的多国语言翻译包,所有的单机和联机帮助都已经翻译为中文,使用起来非常方便。
1.4.2 安装Eclipse及其语言包
Eclipse的安装比较简单,环境要求Java(TM)2 SDK。建议使用比较新的版本,如1.5版本。
首先解压Eclipse 3.2.0到一个目录(比如解压到D:\Eclipse),然后把语言包NLpack-eclipse-SDK-3.0.x-win32.zip也解压到任意目录,复制其中的features和plugins两个文件夹,粘贴到安装Eclipse 3.2的文件夹。这时会提示是否替换原来的文件,单击“全部”按钮。双击D:\Eclipse目录中的Eclipse.exe文件即可打开Eclipse,如图1-18所示。
图1-18 打开Eclipse
编者手记
最好使用一个从未启动过的Eclipse安装包,这样可以完全中文化。如果在安装中文包时Eclipse已经被使用,则可能会出现有部分内容不能被汉化,比如【搜索】和【运行】等菜单。如果汉化不完全,删除Eclipse目录中的configuration目录后重启即可。
1.4.3 Eclipse组成
Eclipse常用的工作台界面包括一般的菜单栏、工具栏、树状结构管理器和工作区等,其开发工具界面可以分为菜单栏、工具栏、包资源管理器、工作区、大纲和控制台等。
1.菜单栏
Eclipse是多功能的开发工具,开发Java应用程序只是其中的一小部分功能。用其还可以开发J2EE和Java的Web和工具自身的插件,所以Eclipse的菜单栏特别丰富,如图1-19所示。
图1-19 Eclipse的菜单栏
其中【文件】下拉菜单中的选项主要用来创建、移动或导出项目和类文件等文件的操作,如图1-20所示。
图1-20 【文件】下拉菜单中的选项
【新建】下拉菜单中的选项用来新建项目和各种类文件,如包、类、接口和枚举等;【打开文件】下拉菜单中的选项用来打开磁盘上保存的文件;【关闭】下拉菜单中的选项关闭当前打开的文件;【全部关闭】下拉菜单中的选项用来关闭所有打开的文件。
2.工具栏
工具栏包含了菜单栏使用频率最高的菜单,用来快捷地执行菜单命令,如图1-21所示。
图1-21 Eclipse的工具栏
新建按钮 用来新建项目和类文件,与【文件】→【新建】等效;运行按钮 用来配置哪个文件以什么方式打开并运行程序;新建Java项目按钮 可以快捷地创建Java项目;新建包按钮 可以快捷地创建项目中的包;新建Java类按钮 可以快捷的创建Java文件,如类、接口和枚举等。
3.包资源管理器
包资源管理器以树状结构图的形式显示项目中的文件,如包、类文件和JRE系统库等。通过双击可以快速打开文件编写代码,如图1-22所示。
图1-22 包资源管理器
最小化按钮 可以隐藏包资源管理器;最大化按钮 可以在最小化时还原,在正常时使包资源管理器充满整个屏幕。
4.工作区
工作区用来编写代码等操作,可以多页面显示。通过工作区标题栏对应页面标签上的“X”按钮关闭打开的代码文件,如图1-23所示。
图1-23 多页面显示的工作区
其中显示AddClass.java类文件的代码,标题栏中“HelloWorld.java”标签表示HelloWorld.java文件。单击该标签,在下面的代码编辑区中显示HelloWorld.java的代码。可以通过标签的“X”按钮关闭类文件,也可以双击左侧包资源管理器中的类文件可将其打开。
5.大纲
大纲窗口用来显示一个类文件中的大纲视图,可以显示类中的属性和方法,以及方法中的参数,如图1-24所示。
其中排序按钮 用来排列类中的方法或属性;隐藏字段按钮用来隐藏类中的所有属性,只显示方法;隐藏静态字段和方法按钮用来隐藏静态的属性和方法,只显示非静态的属性;隐藏非公有成员按钮 用来显示所有公有(Public关键字修饰)的属性和方法。
图1-24 大纲窗口
6.控制台
控制台用来显示启动Web服务器的信息等,在Java程序开发中用来显示输出信息或者产生错误时的有关信息,如图1-25所示。
图1-25 控制台
在其中可以通过标题栏上的标签切换不同界面,单击“问题”标签,显示错误、警告和信息”等。其他标签也同样,如“Javadoc”、“声明”和“调试”等标签。
1.4.4 创建一个简单的Java应用程序
本节过Eclipse来创建一个简单的Java应用程序。
实例1-1 HelloWorld程序
该实例程序创建的步骤如下。
1.创建项目
启动Eclipse,弹出“工作空间在启动程序”对话框,如图1-26所示。
图1-26 “工作空间启动程序”对话框
单击“浏览”按钮,选择一个磁盘目录作为Java项目的工作空间。单击“确定”按钮。Eclipse继续启动,装载插件。然后打开欢迎界面,如图1-27所示。
图1-27 欢迎界面
将鼠标移动到窗体的圆形图标,显示“概述”、“教程”和“转到工作台”等标签。单击相应的图标,显示对应的窗口,其他教程窗口如图1-28所示。
图1-28 教程窗口
单击“转到工作台”图标,打开Eclipse的工作台,如图1-29所示。
图1-29 Eclipse工作台
下面通过在Eclipse中创建一个Java应用程序项目来学习Eclipse的具体用法。
(1)选择【文件】→【新建】→【项目】选项,弹出“新建项目”对话框。下面的树形目录结构中列出很多种项目类型,包括EJB、J2EE和CVS等。这里选择“Java”下面的“Java项目”选项,如图1-30所示。
图1-30 选择“Java项目”选项
(2)单击“下一步”按钮,弹出如图1-31所示的“创建Java项目”对话框。在“项目名”文本框中输入项目名,在“内容”选项组中选中“在工作空间中创建新项目”单选按钮。
图1-31 “创建Java项目”对话框
(3)单击“下一步”按钮,弹出如图1-32所示的“Java设置”对话框,单击“完成”按钮创建Java项目CodeChap01。
图1-32 “Java设置”对话框
到此尚无代码文件,下面为项目添加类文件。
(4)右击项目名,单击快捷菜单中的【新建】→【类】选项,弹出“Java类”对话框,如图1-33所示。
图1-33 “Java类”对话框
(5)在“源文件夹”文本框中显示刚才创建的项目名,在“包”文本框中输入Java包的名称。可以自己定义或使用默认包,会弹出“建议不要使用默认包”的标签。在“名称”文本框中输入类名“HelloWorld”,在“修饰符”选项组中默认为“公用”单选按钮。在“想要创建哪些方法存根”选项组中选择“public static void main(String[] args)”复选框,系统将自动创建Java程序的入口方法。
(6)单击“完成”按钮,Eclipse创建类文件“HelloWorld.java”。并在工作台中打开,自动生成存根方法main(),如图1-34所示。
图1-34 Hello World类文件
到此为止,创建一个项目并在项目中的一个类文件,下面要在类文件中添加执行代码。
Eclipse有一个增量编译器,每次保存一个Java文件时自动进行编译,这个功能被称做“自动构建”。如果不需要这个功能,则单击【窗口】→【首选项】→【工作台】→【对资源修改执行自动构建】选项。随后工具栏中会出现“全部构建”按钮,类似的选项也会出现在相关菜单中。
2.添加代码
在上面创建的项目CodeChap01的HelloWorld文件中输入代码,用来显示“Hello World!”字样,如代码1-1所示。
代码1-1 HelloWorld.java
01. public class HelloWorld { 02. /** 03. * @param args 04. */ 05. public static void main(String[] args) { 06. // TODO自动生成方法存根 07. System.out.println("Hello World!"); 08. } 09. }
以上程序在Eclipse控制台打印输出“Hello World!”字样。
3.执行步骤
(1)代码的第1行是声明类名(classname)为“HelloWorld”,类名在源文件中指定,编译时在与源代码相同的目录中创建一个classname.class文件。在实例中,编译器创建一个称为“HelloWorld.class”的文件,包含公共类HelloWorld的编译代码。
(2)代码的第2行~第4行是程序的注释行,注释符使用两个斜杠“//”。
(3)代码的第5行是一个main方法,在类中称为“方法”。该方法是Java程序执行的起始点,Java程序运行都将从main方法开始;否则无法运行程序。如果在程序中需要输入参数,将传递给main()方法中String类型的args数组。
Public关键字表示该方法是公有方法,可以被此类中的不同方法或不同类中的方法访问。
static关键字表示该方法是静态的。
void关键字表示main ()方法不返回任何信息。
String args[]是一个String数组的声明,接收命令行执行该程序时类名之后的参数,格式如下:
java classname args[0],args[1],... //多个参数之间用逗号(,)隔开,所有参数都将存入数 组args中。
(4)代码的第6行是Eclipse自动产生的注释语句。
(5)代码的第7行声明如何使用类名、对象名和方法调用,使用System类的out成员的println()方法将字符串“Hello World!”打印到标准输出上。
(6)代码第8行中的括号是main()方法的下括号,第9行的括号是类的下括号。
4.编译运行
编译并运行Java程序,可以通过在DOS窗口输入javac和java命令来实现。不过在开发工具Eclipse中编译和运行Java程序更加方便快捷,通过命令行方式运行Java程序将被替代(除了某些特殊情况)。
在Eclipse中,运行Java程序将自动编译并运行,可以通过工具栏按钮或者右击包资源管理器中类文件名选择【运行方式】选项,步骤如下。
(1)单击Eclipse工具栏中的运行HelloWorld按钮右侧的下拉箭头,单击弹出菜单中的【运行】选项,弹出“创建、管理和配置”对话框。设置Java程序启动选项,如图1-35所示。
图1-35 设置Jave程序启动选项
编者手记
设置了Java启动配置,在工具栏“运行”按钮的下拉列表中出现配置过启动的类名。以后要多次运行该类,只要单击该类名即可。
(2)选择项目名和main类,本项目中只有一个类文件,所以保留默认选项。单击“运行”按钮运行类文件,在Eclipse控制台中显示“Hello World!”字样,如图1-36所示。
图1-36 显示“HelloWorld“
另一种方法是右击包资源管理器类文件,单击快捷菜单中的【运行方式】选项。弹出和工具栏按钮一样的菜单,操作过程同上。
编者手记
main()方法是Java程序的运行点,没有该方法,Java源代码只能编译不能运行。通常在Eclipse中,创建完成文件并保存后,系统会自动进行编译。如果程序包含多个文件,则应该选择包含Main函数的文件,然后通过以上方式运行。