XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[Borland JBuilder | Eclipse | IntelliJ IDEA] 献给初学者:Java咖啡的奶茶——Eclipse

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [Borland JBuilder | Eclipse | IntelliJ IDEA] 献给初学者:Java咖啡的奶茶——Eclipse  
 
劲舞团
版主
Rank: 7Rank: 7Rank: 7



UID 21313
精华 1
积分 190
帖子 180
阅读权限 100
注册 2006-4-19
状态 离线
献给初学者:Java咖啡的奶茶——Eclipse

铁匠以打造自己的工具为荣。在进入这个行当之时,或接受特殊需求的任务前,制作称手的工具便成了头等大事。通过炼炉、铁砧以及锤子,铁匠循环进行着加热、锻造和冷却过程,直到把钢铁铸造成称手的家伙。

与铁匠挥洒汗水和忍受高温相比,软件开发是一个既干净又抽象的过程。不过,代码与钢铁的相同之处就是它们都有延展性——通过足够的技巧和努力,可以把钢铁或代码变成精致的工具或巨大的机器。

上回我们聆听了Java咖啡馆中咖啡的咏叹调之后,进而品尝了第一杯咖啡,薠$%@X隽说谝痪洹癏ello, world!”,手工编写、编译、调试、运行Java程序,一定让你手忙脚乱,饱尝Java咖啡的苦涩。若要完成一个大型项目,这样的徒手作业无异于愚公移山。

对Java开发者来说,没有什么能够比得心应手的集成开发环境(Integrated Development Environment,简称IDE)更令人着迷。 所谓IDE,就是把编写、编译、调试、运行集成在一个统一开发环境中的软件,并且还增加了许多提高开发效率的实用功能,比如高级编辑功能、自动编译、设置断点逐步调试、在IDE内部显示运行结果等。徒手开发好比刀耕火种,用IDE可谓进入了蒸汽时代。

十年前,由于技术所限,IDE还是奢侈品。随着科技的飞速发展,十年之后的今天,界面易用、功能强大、速度飞快的IDE已经无法成为人们热衷的话题,即便免费也难以成为怦然心动的惟一理由。套用经济学术语,人们渴望的不仅仅是一个传统的IDE,而是一种边际效应递增的开发工具——更多的可用资源、更高的开发效率、更合理的开发方法,以及更保值的知识投入——免费当然再好不过了。

Eclipse就是这样一个开发工具——开放源代码、免费、优秀的厂商支持,并且拥有丰富的扩展资源。

Eclipse

1、Eclipse的历史

Eclipse的前身是IBM的Visual Age for Java(简称VA4J)。把这个项目免费赠送给Eclipse社团(www.eclipse.org)前,IBM已经投入超过四千万美元进行研发。Eclipse社团的创始人还包括Borland、Merant、QNX Software Systems、Rational Software、Red Hat、SuSE、TogetherSoft和Webgain,后来加入的还有Oracle等公司,实力相当雄厚。如今,IBM通过附属的研发机构Object Technologies International(简称OTI),继续领导着Eclipse的开发。

OTI的传说

OTI是杰出的面向对象开发工具的研究组织。早在1988年,他们对Smalltalk已经有了深入研究。在Java咖啡馆中咖啡的咏叹调中我们已经介绍过,Smalltalk是第一个完全面向对象的动态计算机程序设计语言。1996年加入IBM后,他们推动了IBM著名的Visual Age系列开发工具的生产。实际上,IBM当时的VA4J是用Smalltalk编写的,并且为Java融入了许多Smalltalk的先进理念,比如没有“文件”的概念,版本控制被提高到方法学的层次。

Eclipse可以看做VA4J的Java语言实现,但并没有受到Smalltalk太多的影响和制约。为了更加实用,Eclipse去掉了一些纯OO(面向对象)的元素,在理想主义与实用性之间找到了一个很好的平衡点。虽然这使得一些纯OO的追随者伤心欲绝,但结合实际应用、聆听用户的声音,或许这正是Java如此成功的根本原因吧。


2、Eclipse的构架

如果把Java开发者比作铁匠,那么把Eclipse比作铁匠铺就再合适不过了——你不但能够制作产品,还能够打造开发工具。

当下载了Eclipse,你直接接触到的是:

★用来编辑和调试Java源代码的Java开发工具箱(Java Development Toolkit,简称JDT),功能相当于IDE,用来开发产品。

★可以扩展Eclipse本身的插件开发环境(Plug-in Development Environment,简称PDE),好比Winamp等多媒体播放器的插件开发包,用来打造开发工具。

实际上,Eclipse的基础是Eclipse平台(Eclipse Platform),提供软件开发工具集成的服务,而各种开发工具,包括JDT和PDE,都是用插件的形式提供的。插件设计使得Eclipse具有开放式可扩充的结构。比如,你想开发C/C++程序,装一个C开发工具(C Development Toolkit,简称CDT)插件代替JDT即可。同理,通过开发相应插件,Eclipse也可以用来开发微软的C#程序。Eclipse设计的优美之处在于,除了小部分运行的核心,其他都是插件。

通过插件机制,Eclipse体现了一种主观能动的态度:它提供给你一个开放的平台、一个平等参与的机会,以及一些需要遵守的总体规则,然后你尽可快意恩仇,以出人意料但又令人拍案叫绝的方式来使用Eclipse。如果你有新的需要而Eclipse没有满足,自己动手做个插件吧,不但丰衣足食,对整个Eclipse社群也是直接的贡献。

主观能动并非开发工具的惟一态度。与Eclipse竞争的开发工具,比如Borland公司的JBuilder,采用的是另一种做法:你支付高昂的费用,Borland提供一个近乎全能的JBuilder——包括支持Eclipse不内建提供的JSP(服务器端动态网页技术)、EJB(一种企业级数据持久技术)和Web Services(Web服务)的开发。

如若你要求新的功能,你可以告诉善于聆听用户意见的Borland,或许他们会在下一个版本中加上新特性满足你的要求。当然也可能完全不理你,认为你的需求不足以令他们开发一个新特性。Borland公司的态度充满了商业的严谨,JBuilder也堪称经典,但Eclipse的那种潇洒和自由,用户的那种强烈的归属感,溢于言表。

3、开放源代码

Eclipse是一个开放源代码的软件,是以Common Public License (简称CPL)授权形式发布的。开源通常意味着免费,Eclipse也不例外。

虽然Eclipse是一个开放源代码的项目,但由IBM这样一个商业主体领导着项目的开发,这一点跟普通的趋于无X$%@X主义的开源软件有所区别。实际上,CPL授权旨在促进Eclipse平台上的商业应用,呈现一个基于Eclipse的免费和商业软件共存的系统。

公开源代码的一个自然结果,就是Eclipse开发者一直在听取用户的意见——实际上,Eclipse开发者本身就是Eclipse最忠实的使用者。而Eclipse开发者中,不乏IBM的杰出科学家,所以其品质及理念极为出色。

当初Eclipse 2.1发布时,曾经出现过“哄抢”的惨烈局面——下载量太大导致服务器带宽不够,要想在第一周内得到一份拷贝,也不是那么容易!


4、丰富的扩展资源

Eclipse是软件开发者的铁匠铺,炼炉、铁砧以及锤子,一应俱全。就像铁匠用已有的工具打造钳子等新工具一样,你还可以用Eclipse开发Eclipse的插件来扩展其功能。得益于在Java社团中极高的知名度以及开源的本质,很多个人或者厂商提供了许多工具来扩展Eclipse,比如开发J2EE、UML建模等插件,很少有找不到相应功能的插件。此外,大多数工具都是免费的。

Eclipse的获取与安装

1.下载并安装Eclipse

下载Eclipse的网页是http://www.eclipse.org/downloads/index.php。鉴于令人朝思暮想的Eclipse 3.0 Release于2004年6月25日左右发布,我们这里将采用Eclipse 3.0 M9 Stable Build进行讲解。Windows版本的文件名是Eclipse-SDK-3.0M9-win32.zip,约85.3MB。安装Eclipse异常简单,把ZIP包中的Eclipse目录解压缩到C盘根目录中即可。

关于开源软件版本的行话

许多开源软件都有若干约定成俗的版本称谓,好比行当黑话,不了解会吃大亏。

Release:实现承诺的特性,并且通过彻底测试的稳定版本。这种版本一般非常健壮,并且拥有许多可以配合使用的第三方软件,适合开发商业项目。

Stable Build:新的Release版本一般要经过若干个开发周期,在此期间,如果某个版本经过测试相对稳定,开发人员便会把它发布成Stable Build,供渴望尝试新特性的用户在第一时间体验。相当于Beta测试版本的Windows。

Integration Build:当Eclipse开发人员开发出稳定部件时发布的版本,当然不能保证部件之间能够友善合作。如果可以,则将升级为Stable Build发布。不推荐普通用户下载使用。

Nightly Build:每夜构筑的版本,是自动工具每天晚上通过自动编译得到的版本,方便开发者之间交流。这种版本的稳定性没有任何保障,不推荐用户下载使用。

2.启动Eclipse 你必须安装了J2SE 1.4以上的SDK或JRE才能运行Eclipse,具体安装方法请参考第一杯咖啡一文。一切就绪后,双击“C:\Eclipse\Eclipse.exe”便能启动Eclipse了。首次启动Eclipse,会让你配置工作区,选择默认即可。

用Eclipse开发Hello World!

让我们通过Hello World!程序来体验地道的Java开发。

第一步:新建Java项目

选择“File→New→Project...”,选择“Java Project”,点击“Next”,便打开了“New Java Project”向导。在“Project name”中填入“HelloWorld”,不需要进行其他设置,直接左击“Finish”按钮。

第二步:新建HelloWorldApp类

选择“File→New→Class”,在“New Java Class”向导中的Name框中输入“HelloWorldApp”,并且在“public static void main(String[] args)”选项前面打上勾。

这时,向导会有一个提示,由于项目简单,不需要用到package,所以不必理会。最后按下“Finish”按钮。这时你会发现,上期连载中的Hello World!程序框架代码已经自动生成。这就是Eclipse的代码生成(Code Generation)特性。

第三步:添加打印语句

与系列专题中前面文章的代码相比,现在仅仅缺少一句输出“Hello World!”字样的语句:



System.out.println("Hello World!");


让我们看看Eclipse中如何快速输入。

首先把光标移动到“main”函数那行的“{”后面,回车,光标会自动跳到下一行并且多一个Tab位的缩进,自动保持代码的美观。现在输入“System”,注意“S”大写。然后输入“.”,这时你会发现自动弹出一个菜单,显示了“System”所有成员变量和方法!接着输入“o”,弹出菜单会自动过滤以“o”打头的成员变量和方法,所以只剩下“out”了,只要按下回车,“out”便自动加到“.”的后面。

继续输入“.”,又会跳出菜单显示“out”的方法。由于“out”的众多方法中叫做“print”的很多,你可以直接输入“println”或在下拉菜单中搜索,并按下回车。这时,你会发现“println”后面的括号都自动生成了。把光标移动到括号里面,输入引号,Eclipse会自动给你添加另外一半引号。在两个引号中间输入“Hello World!”。最后把光标移动到这行的最后,输入“;”号。

虽然叙述起来很罗嗦,但你自己操作一遍就能体会这样的编码有多舒服。这就是Eclipse的代码完成(Code Completion)功能。代码完成能够:

★通过自动过滤加快输入的速度;

★通过选择与回车键选择的方式来避免输入错误;

★当你记不清某个类的成员变量或者方法时可以有效地提示你。

这里还有一个实用的技巧:当你的源代码中存在语法问题,Eclipse编辑器会用红色大叉外加波浪线来标记,你可以根据提示随时修正。

第四步:运行Java程序

现在直接在Eclipse中运行这个程序,看看执行结果。

按下“Run→Run...”,Eclipse会弹出运行设置向导,询问运行配置。这个程序是一个Java程序,所以在Configurations里面选择“Java Application”,然后按下“New”按钮。当Eclipse创建好配置以后,你只需要按下Run便能够看到结果了。
2006-4-23 17:52#1
查看资料  Blog  发短消息  顶部
 
劲舞团
版主
Rank: 7Rank: 7Rank: 7



UID 21313
精华 1
积分 190
帖子 180
阅读权限 100
注册 2006-4-19
状态 离线
什么是Eclipse

本文为您提供关于 Eclipse 平台的概述,包括起源和体系结构。本文首先简要讨论 Eclipse 的开放源代码性质及其对多种编程语言的支持,然后通过一个简单的程序例子展示 Java 开发环境。本文还将考查以插件扩展形式可用的一些软件开发工具,并展示一个用于 UML 建模的插件扩展。

Eclipse 是什么?

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。

Eclipse 是开放源代码的软件

开放源代码软件是这样一种软件,它们在发布时附带了旨在确保将某些权利授予用户的许可证。当然,最明显的权利就是源代码必须可用,以便用户能自由地修改和再分发该软件。这种用户权利的保护是通过一种称为 copyleft 的策略来完成的:软件许可证主张版权保护,除非明确授予用户这样的权利,否则用户不得分发该软件。copyleft 还要求同一许可证涵盖任何被再分发的软件。这实际上倒置了版权的目的——使用版权来授予用户权利,而不是为软件的开发者保留版权——copyleft 经常被描述为“保留所有版权”。

曾经四处蔓延的对开放源代码软件的许多恐惧、担忧和疑虑,都与某些 copyleft 许可证的所谓“病毒”性质有关——如果使用开放源代码软件作为您开发的程序的一部分,您将失去自己的知识产权,因为该许可证将“传染”您开发的专有部分。换句话说,该许可证可能要求与开放源代码软件一起打包的所有软件,都必须在相同的许可证之下发布。虽然这对最著名的 copyleft 许可证(即 GNU 通用公共许可证,例如 Linux 就是在该许可证之下发布的)来说可能是事实,当时还有其他许可证在商业化和社区考虑之间提供了较好的平衡。


开放源代码计划(Open Software Initiative)是一家非营利机构,它明确定义了开放源代码的含义及满足其标准的认证许可证。Eclipse 是在 OSI 认可的通用公共许可证(CPL)1.0 版之下被授予许可证的,CPL旨在促进程序的商业化使用。

为 Eclipse 创建插件或将 Eclipse 用作软件开发应用程序基础的开发人员,需要发布他们在 CPL 下使用或修改的任何 Eclipse 代码,但是他们可以自由决定自己添加的代码的许可证授予方式。与出自 Eclipse 的软件一起打包的专有代码不需要作为开放源代码来授予许可证,该源代码也不需要提供给用户。

尽管大多数开发人员不会使用 Eclipse 来开发插件,或创建基于 Eclipse 的新产品,但是 Eclipse 的开放源代码性质所意味的,并不只是它使得 Eclipse 免费可用(尽管便于商业化的许可证意味着插件可能要花钱)。开放源代码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源代码库贡献代码。对此存在许多原因,不过最本质的原因或许是为这个项目作贡献的开发人员越多,这个项目就会变得对每个人都越宝贵。随着这个项目变得更加有用,更多的开发人员将会使用它,并围绕它形成一个社区,就像那些围绕 Apache 和 Linux 形成的社区一样。

Eclipse 是什么机构?

Eclipse.org 协会管理和指导 Eclipse 正在进行中的开发。在据说 IBM 花了 4000 万美元开发 Eclipse,并把它作为一个开放源代码项目发布之后,Eclipse.org 协会吸收了许多软件工具提供商,包括 Borland、Merant、Rational、RedHat、SuSE、TogetherSoft 和 QNX。从那以后还有其他公司相继加入,包括 Hewlett Packard、Fujitsu、Sybase。这些公司分别向理事会派了一名代表,这个理事会负责确定 Eclipse 项目的方向和范围。

在最高层,项目管理委员会(Project Management Committee,PMC)管理着 Eclipse 项目。这个项目被划分为多个子项目,每个子项目都有一名负责人。大型子项目又被划分为组,每个组也有一名负责人。目前,这其中的大多数管理角色都由最初开发 Eclipse 的 IBM 子公司 Object Technology International (OTI)的人担任,但是作为一个开放源代码的项目,它欢迎任何人的参与。任何特定部门的职责是通过该部门对项目的贡献来争取的。

现在我们已经考察了 Eclipse 背后的一些理论、历史和管理,下面让我们考察该产品本身。

Eclipse 工作台

在第一次打开 Eclipse 时,首先看到的是下面的欢迎屏幕:




图 1. Eclipse 工作台

Eclipse 工作台由几个称为 视图(view) 的窗格组成,比如左上角的 Navigator 视图。窗格的集合称为 透视图(perspective)。默认的透视图是 Resource 透视图,它是一个基本的通用视图集,用于管理项目以及查看和编辑项目中的文件。

Navigator 视图 允许您创建、选择和删除项目。Navigator 右侧的窗格是 编辑器区域。取决于 Navigator 中选定的文档类型,一个适当的编辑器窗口将在这里打开。如果 Eclipse 没有注册用于某特定文档类型(例如,Windows 系统上的 .doc 文件)的适当编辑器,Eclipse 将设法使用外部编辑器来打开该文档。

Navigator 下面的 Outline 视图 在编辑器中显示文档的大纲;这个大纲的准确性取决于编辑器和文档的类型;对于 Java 源文件,该大纲将显示所有已声明的类、属性和方法。

Tasks 视图 收集关于您正在操作的项目的信息;这可以是 Eclipse 生成的信息,比如编译错误,也可以是您手动添加的任务。

该工作台的大多数其他特性,比如菜单和工具栏,都应该和其他那些熟悉的应用程序类似。一个便利的特性就是不同透视图的快捷方式工具栏,它显示在屏幕的左端;这些特性随上下文和历史的不同而有显著差别。Eclipse 还附带了一个健壮的帮助系统,其中包括 Eclipse 工作台以及所包括的插件(比如 Java 开发工具)的用户指南。至少浏览一遍这个帮助系统是值得的,这样可以看到有哪些可用的选项,同时也可更好地理解 Eclipse 的工作流程。

为继续这个短暂的 Eclipse 之旅,我们将在 Navigator 中创建一个项目。右键单击 Navigator 视图,然后选择 New=>Project。当 New Project 对话框出现时,选择左面的 Java。标准 Eclipse 只有一种 Java 项目类型,名为“Java Project”。如果安装了插件来提供 JSP 和 servlet 支持,我们会从这里看到一个用于 Web 应用程序的附加选项。眼下,请选择 Java Project,在提示项目名称时输入“Hello”,然后按 Finish。

接下来,我们将检查一下 Java 透视图。取决于您喜欢的屏幕管理方式,您可以通过选择 Window=>Open Perspective=>Java 来改变当前窗口中的透视图,也可以通过选择 Window=>New Window,然后再选择这个新的透视图,从而打开一个新的窗口。

正如您可能预期的那样,Java 透视图包含一组更适合于 Java 开发的视图。其中之一就是左上角的视图,它是一个包含各种 Java 包、类、jar 和其他文件的层次结构。这个视图称为 Package Explorer。还要注意主菜单已经展开了——并且出现了两个新的菜单项:Source 和 Refactor。
2006-4-23 17:54#2
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 07:03 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver