﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-呓语的博客-随笔分类-Eclipse</title><link>http://www.blogjava.net/xieyunlong/category/7110.html</link><description>不管前面的路有多艰辛多长，只要怀着一颗执着的心。成功就离你不远了!</description><language>zh-cn</language><lastBuildDate>Sat, 03 Mar 2007 09:07:14 GMT</lastBuildDate><pubDate>Sat, 03 Mar 2007 09:07:14 GMT</pubDate><ttl>60</ttl><item><title>Eclipse零起步系列讲座 (二)</title><link>http://www.blogjava.net/xieyunlong/archive/2006/01/18/28450.html</link><dc:creator>呓语的博客</dc:creator><author>呓语的博客</author><pubDate>Wed, 18 Jan 2006 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/xieyunlong/archive/2006/01/18/28450.html</guid><wfw:comment>http://www.blogjava.net/xieyunlong/comments/28450.html</wfw:comment><comments>http://www.blogjava.net/xieyunlong/archive/2006/01/18/28450.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xieyunlong/comments/commentRss/28450.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xieyunlong/services/trackbacks/28450.html</trackback:ping><description><![CDATA[(前言)<BR>今天这篇侧重于eclipse的内部结构剖析,对于想开发插件的同志们,这些都是基础知识,<BR>可以好好看看. 由于我写这个东西,也是随性发挥,想到什么就写什么. 而关于eclipse的<BR>如何使用,如何用eclipse来开发一个java项目或其他项目之类的文章, 我想我会在以后<BR>的文章中写到. 但我想对于要在开发eclipse上开发web项目,c项目或其他的话,你也要会<BR>自己能安装相应的插件,才能开发,所以,这些基础知识的对于这些人来说还是很有必要的<BR>. <BR><BR>(正文)<BR><BR>上一回我们且说到eclipse的下载,安装,启动. 其中讲到eclipse目录结构时,你会发现有<BR>两个目录,一个叫plugins,一个叫features,而且你会发觉就这两个目录就占了整个eclip<BR>se项目的9x%的空间,如果少了这两个目录,呵呵,eclipse根本就是空架子. 那这里面到底<BR>存放了些什么东西呢, 让我们来研究一下.<BR><BR>[什么是 plug-in]<BR><BR>我们来做一个比喻, 你买了一套新房子,买过来是毛坯房,然后你稍微装修一下,铺了地板<BR>,上了墙纸, 当然现在大家都要用家用电器, 没电咋行, 所以我们就要布好电线,装好电<BR>源插座. 这个时候,你可以把这个房子想像成eclipse这个平台. 之后, 我们或许就要添<BR>置家用电器了,比如电视, 音响等等, 等我们买好回家, 然后把电源往插座上一插, 那我<BR>们就抱着孩子, 搂着老婆, 看电视, 听音乐, 舒舒服服的过上幸福美满的小生活了~~~<BR><BR>同样的, eclipse的plug-in 也是同样的工作原理, plug-in 只要放到<ECLIPSE_HOME></ECLIPSE_HOME>/p<BR>lugins目录下, eclipse启动后就会自动给所有在这个目录下的plug-ins, 通上电, 那这<BR>些plug-ins就会自动的运行起来, 美妙的eclipse界面也随之呈现在你眼前. <BR><BR>那接下来,让我们看看eclipse这个由插件组成的平台,到底是个什么样的架构<BR><BR>[Eclipse 平台架构]<BR><BR><PRE><BR>---------------------------------------------<BR>| Eclipse Platform                          |             --------<BR>|                                           |  ---\       |      |<BR>|  -----------------------   ------------   |==| _ |______| JDT  |<BR>|  |Workbench            |   |          |   |==|   |      |      |<BR>|  |                     |   |          |   |  ---/       --------<BR>|  |                     |   |          |   |<BR>|  |      ---------------|   |   Help   |   |<BR>|  |      |       jface  |   |          |   |<BR>|  |-----------          |   |          |   |<BR>|  |  SWT     |          |   |          |   |<BR>|  |          |          |   ------------   |<BR>|  -----------------------                  |<BR>|                            ------------   |             --------<BR>|  ------------------        |          |   |  ---\       |      |<BR>|  |Workspace       |        |          |   |==| _ |______| PDE  |<BR>|  |                |        |   Team   |   |==|   |      |      |<BR>|  ------------------        |          |   |  ---/       --------<BR>|                            |          |   |<BR>|                            ------------   |<BR>---------------------------------------------<BR></PRE>
<P><BR>Eclipse Platform 就是一个房子, workbench,jface, swt, workspace, help, team, <BR>jdt, pde都是基于这个平台的插件. <BR><BR>下面我介绍一下这些基础插件的基本功能:<BR><BR>*: workbench用来控制工作台, 负责控制工作台上包括菜单,视图,透视图等等的控制和<BR>操作<BR>*: SWT是一个类似AWT,SWING的java组件,是一个轻量级的组件,而且和awt,swing不同的<BR>是,它底层实现不是基于jre,而是根据不同操作系统,有相应的动态链接库实现,所以作出<BR>来的效果很专业, SWT主要用于workbench的ui绘制<BR>*: jface是基于SWT的一个插件, 对SWT进行了封装, 封装实现了对话框, 视图等东东<BR>*: workspace是用来控制工作区的,(有别于工作台), 包括对工作区内的项目的控制,删<BR>除,添加,编译项目资源等等都由它来控制<BR>*: help是一个eclipse帮助系统, eclipse的菜单-&gt;Help-&gt; Help Content,就可以打开这<BR>个帮助系统, 这个系统不是封闭的, 可以进行扩展(以后会介绍做eclipse帮助的插件)<BR>*: team是一个cvs系统,可以和CVS server协调使用,进行版本控制<BR>*: jdt 是 Java Development Tools, 开发java的插件<BR>*: pde 是 plug-in development environment, 开发插件的平台<BR><BR>[plug-in 的基本结构]<BR><BR>每一个plug-in都用一个目录包起来, 而且起目录名也是有讲究的,比如plug-in的名字叫<BR>edu.sjtu.bbs.eclipse,版本是1.0.0, 那这个目录名就是edu.sjtu.bbs.eclipse_1.0.0.<BR><BR>而且随便打开一个plugin目录,可以发现总有一个文件叫一个叫plugin.xml,这个文件对<BR>于plugin来说十分重要, 它相当于定义了plugin的运行参数,没有这个,plugin无法启动,<BR>就像你家的电冰箱如果不知道是用110V还是220V的,你也不敢乱往插座上插,所以总要有<BR>个说明,这个说明就是plugin.xml. 至于这个文件有些什么具体结构,我想在以后介绍编<BR>写插件的时候,我会详细介绍.<BR><BR>[什么是 feature]<BR><BR>feature是功能部件,它里面没有实际的运行的库,它只是eclipse用来管理plugins的一种<BR>途径. 比如你家装了电灯,总要有开关控制把,比如大堂的灯有一个开关控制, 卧室的灯<BR>也有一个开关控制, 它们分别用来控制灯的亮与灭. <BR>同样,功能部件就是用来控制插件的启动与否. eclipse的update透视图可以设定各个功<BR>能部件的启用或禁用状态, 所以你可以通过禁用功能部件,来禁止插件的启动. 这样有一<BR>个好处,比如你装了很多插件在eclipse上,但是装的越多,加载就越多,启动也会变慢, 你<BR>不信的话,可以玩玩wsad, 就知道我说的话不是假的了. <BR>所以,我们可以把功能部件看作是插件或插件集合的开关, 用来控制插件的状态. 如果pl<BR>ugins目录有插件没有被任何一个功能部件包络的话, 我称之为"野插件", 就是eclipse<BR>启动,它也一定会启动, 就相当于没有开关, 电源一直连通一样. <BR><BR>当然,功能部件还有很多其他方面的用处,以后会有详细介绍. </P><img src ="http://www.blogjava.net/xieyunlong/aggbug/28450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xieyunlong/" target="_blank">呓语的博客</a> 2006-01-18 11:30 <a href="http://www.blogjava.net/xieyunlong/archive/2006/01/18/28450.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse零起步系列讲座 (一)</title><link>http://www.blogjava.net/xieyunlong/archive/2006/01/18/28449.html</link><dc:creator>呓语的博客</dc:creator><author>呓语的博客</author><pubDate>Wed, 18 Jan 2006 03:29:00 GMT</pubDate><guid>http://www.blogjava.net/xieyunlong/archive/2006/01/18/28449.html</guid><wfw:comment>http://www.blogjava.net/xieyunlong/comments/28449.html</wfw:comment><comments>http://www.blogjava.net/xieyunlong/archive/2006/01/18/28449.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xieyunlong/comments/commentRss/28449.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xieyunlong/services/trackbacks/28449.html</trackback:ping><description><![CDATA[<SPAN id=ArticleContent1_ArticleContent1_lblContent>(前言)<BR><BR>Eclipse这个新的东东,大家都很感兴趣,为了帮助初学者揭开Eclipse的神秘面纱,也为了<BR>总结一下自己的使用开发经验,所以打算写下来共享给大家,当然我也是在不断的摸索中,<BR>文中如有不对之处,还望大家指正.<BR><BR>(正文)<BR><BR>Eclipse项目是IBM在2001年捐献的一个开发平台,当时此项目评估价值为40million <BR>USD. 此东东如此值钱,可见自是有过人之处. 接下来直接转入正题, 哪里可以下到Eclip<BR>se呢.<BR><BR>[Eclipse 下载]<BR><BR>下载Eclipse的官方网站:<BR><BR>http://www.eclipse.org/downloads/<BR><BR>这个网站上有很多mirror,你可以根据网路,选择自己最方便的下载mirror<BR>如果你在交大的校园的话,呵呵,那就去这里<BR><BR>ftp://ftp.sjtu.edu.cn/mirror/sites/download.eclipse.org/<BR><BR>这个目录是也是一个Eclipse网站的镜像,但是为什么没有公布在Eclipse.org网站上,这<BR>我就不清楚了<BR>你可以从上述网站上找到Eclipse的下载包<BR>上了网站,你会发现有许多Eclipse版本,有1.x, 2.x, 3.x,那到底该用什么版本呢?<BR><BR>[Eclipse 版本 (以及WSAD版本)]<BR><BR>IBM有个深受大家欢迎的产品,叫做Webshpere Studio Application Developer (WSAD), <BR>当时WSAD4.0发布时用的Eclipse是1.0版本的,后来IBM把Eclipse捐献出来后,就陆续开发<BR>了2.x版本,而且也应用到了后来的WSAD产品,现在WSAD5.0用的是Eclipse 2.0, WSAD <BR>5.1 用的是Eclipse 2.1.1.<BR>现在Eclipse.org Release的最近Release的版本是Eclipse 2.1.3, 相信大家平时要用Ec<BR>lipse做开发的话,用2.1.3比较合适.<BR>同时,如果你如果想尝尝鲜的话,就试试Eclipse 3.0版本,现在3.0还没有Release, <BR>Eclipse 3.0的开发过程是分成10个Milestone来分的,现在已经开发到第8个Milestone,<BR>就是Eclipse 3.0M8. 大家可以试试. 预计3.0的正式版本要到今年6月发布, 相信到时候<BR>发布不久后, WSAD6.0就会发布了. 呵呵,期待啊 @_@<BR><BR>另外对于Eclipse的开发,还有一种版本标记方式,是分别已 N, I, R 打头的, 比如 <BR>N20040101之类的, 大家会觉得纳闷,这到底代表什么意思呢. 其实, N 是 Nightly <BR>Build , I 是 Integration Build, R 是 Release Build, 特别是对于大型软件, 有时<BR>编译一个项目要花很多时间, 所以很多时候编译的工作就放在了夜里, 所以就有了 <BR>Nightly Build 这一说, 而Nightly版本在经过集成测试,就生成了 Integration 版本. <BR>Integration版本再经过严格的测试,最后就发布Release版本. 所以 稳定性程度: R &gt; <BR>I &gt; N. <BR><BR>相信大家了解了这个版本后,就可以当自己想要的版本了. <BR>等当好了之后,我们就可以安装了<BR><BR>[Eclipse 安装] (以 R2.1.3 版本为例)<BR><BR>当下来的东东是一个压缩包, 然后你要做的就是把这个压缩包解压都某一个目录,为了方<BR>便介绍,我们叫这个目录为<ECLIPSE_HOME></ECLIPSE_HOME>.<BR><BR>让我们展开一下这个目录看看:<BR><ECLIPSE_HOME></ECLIPSE_HOME><BR>|<BR>--- /plugins 存放插件的目录 (稍后介绍)<BR>--- /features 存放功能部件的目录 (稍后介绍)<BR>--- /links 其他plugins和features的连接地址的存放目录 (稍后介绍)<BR>--- /readme <BR>--- eclipse.exe 启动Eclipse程序<BR>--- ...<BR><BR><BR>[启动 Eclipse]<BR><BR>但是如果你机器还没有装jre的话,那eclipse还是不能启动的<BR>如果没有的话,去java.sun.com当一个jre,安装好jre之后才能启动<BR>如果你同时有几个jre, 那eclipse会自动搜索注册表,并找到版本高的jre使用.<BR><BR>提示: 如果想指定eclipse使用你想它使用的jre的话,可以设置eclipse.exe的启动参数:<BR><BR>eclipse.exe -vm <JRE_HOME></JRE_HOME><BR><BR>然后你就可以启动eclipse了, 慢慢等, 还是挺慢的, 你可以顺便喝口茶, 欣赏欣赏eclipse的splash画面, 呵呵<BR>启动好后, eclipse的开发平台就展现你的眼前了.<BR><BR>在这个启动的时候, eclipse自动创建了一个workspace, 你可以在<ECLIPSE_HOME></ECLIPSE_HOME>的目<BR>录下看到一个workspace的目录,这个目录下还有一个.metadata的目录,这个目录存着你<BR>这个启动的工作区的所有配置.<BR><BR>当然,如果你不想把workspace这个工作区目录放到别的目录下,也没有问题,设置一下eclipse的启动参数:<BR>eclipse.exe -data <WORKSPACE_FOLDER></WORKSPACE_FOLDER><BR><BR>以后,你如果同时要开发好几个项目, 当时有不想放一个工作区里, 学会启动的不同的工作区是必要的 </SPAN><img src ="http://www.blogjava.net/xieyunlong/aggbug/28449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xieyunlong/" target="_blank">呓语的博客</a> 2006-01-18 11:29 <a href="http://www.blogjava.net/xieyunlong/archive/2006/01/18/28449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>