2004 年 12 月 30日, 星期四

关于插件的热部署

现在Eclipse在重新安装一个插件之后,必须重新启动平台,才能使用新安装的插件,包括删除,如果插件正在使用,是不允许删除的,这都给插件的使用带来了不方便。我现在的想法是,可以单独开一个线程,专门负责插件的管理,随时监测plugins目录下的目录结构并动态更新plugin registries(好像实现起来有难度),在插件拷贝(安装)完毕后给所扩展的application发一个插件更新消息,这样application会自己去做更新的工作(比如Workbench)。还有一种方法是使用JMX的架构,动态注册Plugins,这样平台不必重新启动就可以使用新安装的插件。

新的OSGi特性有可能已经包含这样的功能,只是目前还没有使用,研究中。。。

只是一些想法。。。 



sdujerome 发表于:2004.12.30 22:33 ::分类: ( Eclipse ) ::阅读:(104308次) :: 评论 (2022) :: 引用 (0)

2004 年 12 月 27日, 星期一

换一种方式进入Eclipse的世界

其实,Eclipse是一个可以进行非常灵活配置的系统,除了以缺省的方式启动以外,还可以指定各种参数来定制启动方式。在参考了一些资料之后,我总结了一些比较常用的启动时Command Arguments,如果有不正确的地方希望大家予以指出。

-arch [processor architecture]
描述:指定所使用的处理器的类别
举例:eclipse -arch x86或eclipse -arch sparc

-application [id]
描述:指定要运行的应用,id为扩展org.eclipse.core.applications扩展点的插件id加扩展id
举例:例如有个插件id为edu.sdu.app,扩展id为myapp,则eclipse -application edu.sdu.app.myapp,就会执行你的扩展应用

-clean
描述:清空插件缓存内容
举例:eclipse -clean,有时插件显示不出来是因为Eclipse将插件进行了缓存以加速启动过程,若指定此参数则会清空缓存,从头加载

-configuration [cofigfile location]
描述:指定配置文件的位置,在启动时使用此目录下的配置文件config.ini来启动
举例:eclipse -configuration d:/eclipse/configuration

-data [workspace location]
描述:指定启动时的Workspace位置
举例:例如Workspace位置设在D:/myworkspace,则eclipse -data D:/myworkspace

-debug [option file]
描述:以Debug状态启动Eclipse,所有的Debug开关在.options文件中指定
举例:eclipse -debug d:/eclipse/.options

-dev [classpath entry]
描述:以开发状态启动Eclipse,这会添加所有指定的路径作为每个插件的Classpath
举例:例如eclipse -dev bin,会将产生在bin目录下的所有类加载到类路径中,这在开发插件时非常有用

-nosplash
描述:指定启动时不显示闪屏
举例:eclipse -nosplash

-vm [jre path]
描述:指定启动时所使用的Java虚拟机
举例:例如要使用自己的Java虚拟机,则eclipse -vm D:/j2sdk1.4.2_04/jre/bin/java.exe,这样还有一个好处,就是可以开启一个Console,能够显示控制台信息,当然若使用eclipse -vm D:/j2sdk1.4.2_04/jre/bin/javaw.exe则不会再显示控制台

-vmargs [Java VM arguments]
描述:指定启动时要使用的Java虚拟机参数
举例:例如要指定使用的内存容量,则eclipse -vmargs "-Xms256m -Xmx1024m"
注:此参数一定要放在所有参数变量的最后面


参考文章:
1.Eclipse Help
2.用 Runtime Spy 调整 Eclipse 的启动性能,IBM DeveloperWorks



sdujerome 发表于:2004.12.27 19:14 ::分类: ( Eclipse ) ::阅读:(46398次) :: 评论 (1195) :: 引用 (0)

2004 年 12 月 23日, 星期四

RCP-Rich Client Platform

RCP确实是个好东西啊,使构建大型客户端应用越来越容易,其实早就想将Eclipse的Workbench单独分离出来了,没想到人家早就已经开始做了
http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-ui-home/rcp/index.html

sdujerome 发表于:2004.12.23 16:32 ::分类: ( Eclipse ) ::阅读:(98133次) :: 评论 (1557) :: 引用 (0)

2004 年 12 月 16日, 星期四

Extension-Point与XML

记得XML刚刚兴起时,大家都在大谈特谈XML的优点,其中最重要的一条就是可扩展性,它的名字也由此而来,当时还真是不懂可扩展的意思是什么,不就是跟HTML差不多的东东吗,只不过比HTML的语法严谨一些罢了。现在回头想想,当时确实没有理解XML。

自从看过了Eclipse,了解了它的插件体系结构并实际应用之后,才真正对XML的可扩展性有了新的理解,也真正体会到了Extension-Point思想真是把XML的可扩展性发挥到了极致。在插件上又可以开发插件,所依赖的正是XML的可扩展性。每一个插件都可以“任意”指定自己所提供的扩展点的Schema,而插件的插件亦是如此,所以就像搭积木一样,可以不断的在基本平台之上增加新的功能,使软件离“PnP”的目标越来越近!


sdujerome 发表于:2004.12.16 22:45 ::分类: ( Eclipse ) ::阅读:(1017次) :: 评论 (7) :: 引用 (0)

2004 年 12 月 05日, 星期日

Extension-Point之我见

Eclipse的插件体系结构的一个重要的概念就是扩展点,只有在插件中提供了扩展点,别的插件才能够在此基础上进行扩展,这里暂不提如何提供扩展点及如何扩展扩展点,只是将这个东东与Interface作一比较。

 查看全文
sdujerome 发表于:2004.12.05 15:51 ::分类: ( Eclipse ) ::阅读:(889次) :: 评论 (5) :: 引用 (0)

2004 年 11 月 21日, 星期日

安装插件的建议

一般来说,安装插件都是直接拷贝到Plugins子目录下,但是这样有个缺陷,若插件太多,会使内容非常混乱,而且分不清哪个是系统自带的,哪个是以后安装的。这里提供一个办法:在Eclipse安装目录下新建一个子目录links,里面新建一个文件abcd.link,文件名随便取,文件里的内容为path=D:/MyPlugins(目录可换成自己的),而在Path中指定的目录,即刚才的D:/MyPlugins目录下,一定要有一个eclipse子目录,在此子目录下再有features及plugins子目录(同Eclipse安装目录一样),新插件在安装时即可以拷贝到此plugins目录下,这样就避免了所有插件都放在一起的缺点。而且links目录下可以建多个*.link文件,每个.link文件中的内容可有多行path=...,极大的方便了将插件按照功能来进行分门别类。

有点烦琐,只是一个建议,呵呵


sdujerome 发表于:2004.11.21 17:53 ::分类: ( Eclipse ) ::阅读:(673次) :: 评论 (12) :: 引用 (0)

关于插件的安装

Eclipse的插件安装是很方便的,只需将插件目录拷贝到Eclipse安装目录下的Plugins子目录下即可,但有时候即使这样做了插件还是没有出来,目前来说可按下面几个步骤检查:

1.首先看一下About中的Plugin装载清单,如果没有则需先确认所安装的插件的依赖插件已经安装。Eclipse的插件是有依赖关系的,具体表现在每个插件Plugin.xml中的<requires>标记中,里面的每个<import>标记即表示所依赖的插件ID,Eclipse在启动时会按照插件的依赖关系逐个将插件装载,若找不到所依赖的插件,则所安装的插件运行就有可能不正常。

2.若装载的Plugin清单里已经有了,那可能是没有打开此插件的View或者需要在Preference里配置一些东西才有效,这个最好看一下所安装插件的Plugin.xml,看它都扩展了哪些扩展点,菜单无非就是actionSets这个扩展点,界面都是views这个扩展点,可以在Show View里设置一下,还有其它一些扩展点,可以具体问题具体分析。

3.最有效的办法:看Log。在Eclipse安装目录Workspace/.metadata子目录下(若没有使用默认的工作空间,则目录结构可能会不同)有一个.log文件,从这里面一般可以找到失败的原因。

4.如果插件还是没有安装,则删除Eclipse安装目录Configuration子目录下的org.eclipse.update目录,然后重新启动。重新启动有时需加参数-clean。

若还是不行,那。。。去问Erich Gamma吧,^_^

 查看全文
sdujerome 发表于:2004.11.21 17:26 ::分类: ( Eclipse ) ::阅读:(5109次) :: 评论 (11) :: 引用 (0)