`
soleegn
  • 浏览: 147862 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
    有事没事写Blog吧~写Blog的N个理由:1.测试键盘的耐久程度;2.锻炼一下自己的语言表达能力;3.锻炼一下自己的耐性;4.广交朋友;5.发表一下自己的学习成果;6.加深自己学习的印象;7.记录一下自己的思想;8.想像一下自己也是技术牛人;9.给后人一些指点;10.让寻觅的的老板们早点发现你;11.少干点家务;12.放送一下自己;13.加个广告争点小钱;... ...想不出来了,头都大了~
    RCP还是新兴的东西,大家都是用它做做小东东,所以在网上讨论RCP深度应用的文章还不多。    在此作文N篇阐述一下我在项目中的实现思路,欢迎大家拍砖。    首先看一下我们的项目的总体架构:      这个图谁都会画,就不说了,只是说明我们在用RCP而已。    再看看Client这层是怎么组成的:     依赖关系是自上而下的~,当然大家都需要依赖RCP-RUNNTIME本身。    jar plugin ---将第三方jar包包装成plugin样子,以供其他的插件依赖,解决了RCP项目对第三方包依赖麻烦的问题,例子:junit插件的实现;    DMP Platform --- ...
插件开发依赖其他插件时,我们要在plugin.xml的dependency 项的required plugin里面选择你要依赖的插件~然后如果你启动就会报错:  1!SESSION 2007-06-19 14:10:03.031 ----------------------------------------------- 2eclipse.buildId=unknown 3java.version=1.5.0_08 4java.vendor=
今天在写RCP的基础运行插件的时候,发现一个非常有意思的问题:    我有两个插件A和B,A是RCP运行主插件,B是普通插件,A依赖于B存在并运行。当我把B打成JAR包,放到A下,做本地依赖的时候,那么Log4j的配置文件加载无误,但是这样是违反了Eclipse插件开发原则(Eclipse最小运行单位是插件)的;我把A和B通过feature进行关联,然后在A中依赖B插件,通过product文件启动A插件的时候,发现B插件无法加载Log4j的配置文件... ...    很郁闷的问题哦~为什么?    因为我一直在使用原来java的类加载机制思考问题,一个类加载机,将加载所有的Class~在Ecl ...
今天在Eclipse站上学习如何使用Maven2管理Eclipse plugin时,偶然google到了~Codehaus上已经有了maven2管理Eclipse plugin的插件了~http://mojo.codehaus.org/pde-maven-plugin/index.html真是踏破铁鞋无觅处,得来全不费工夫!顺道说说Baidu,我baidu MOJO的时候,搜索结果80%竟然是MP3类的~我都晕倒了,我以为我开的是Mp3.baodu.com,百度现在是不是转行转作MP3了?
    一下内容仅为初步想法,请大家共同考虑需求,想到什么写什么,以后再考虑实现问题,如同我们对付客户一样,先答应再说!1.blog发布工具,支持最www.blogjava.net的初步维护,根据Blog公布的API定义具体功能;2.考虑租用服务器,将大家交流的数据传到服务器上,如教程,DEMO,视频,聊天记录等等;3.考虑开发一个简单的IM工具(实现一定有难度);4.附带个人日程管理,做简单本地日记,或者网站收藏夹;5.构建一个代码收集器(Eclipse插件),可以供我们分门别类的增加代码,如果发现有可以使用的,就直接拖拽或者拷贝到JDT中使用;暂时只能想到这些了。大家继续补充!
    为了找个合适的图片是不是头大的不像样子了?OK,我现在就开始总结著名的ICON网站!    ICON搜索引擎:        http://www.iconlet.com/        http://www.iconfinder.net/    在线转换工具        http://converticon.com/    资源站        http://www.freeiconsweb.com/index.html
    DB4O?    新出的OODBMS~取谐音DB for O 。一个优秀的OODBMS解决方案,它出现的定位就是为了开发嵌入式和小型应用,同HSQLDB的定位相仿。不过DB4O的的优点则是,本身是OODBMS,那么对它的操作自然就是基于OO的,同Hiberante一样,但是Hiberante是ORM解决方案,而DB4O则是原生OODBMS方案。看看下面的例子一个同Hibernate相同的POJO,没有任何方法,也没有跟DB4O有任何耦合。  1package name.lgn.db4o.test.model; 2 3public class Person 
目前正在规划阶段,初步想法是,实现一个周博通的EclipsePlugin简单版本。主要功能为:   创建一个RSS独立视图   RSS树结构      RSS新闻订阅      RSS站点添加以及维护   RSS新闻摘要显示   调用Eclipse的WEB浏览器查看RSS信息详情   RSS新闻自动更新   RSS新闻已读,未读标注在EclipsePlugin中已经有一个RSS浏览器插件了,但是此项目不开源,希望创建一个开源项目,一共大家交流。有兴趣的朋友可以留言,大家一起来做。
    1.在Plugin.xml中配置Editor时,需要配置除id,name,class这些必备项外,还需要配置icon这个属性,必须要给一个Editor一个图标,不知道是不是BUG。经过测试,发现在不配置icon的时候,也不配置class时,RCP平台可以根据ID找到这个Editor,但是如果class配置的话,就不能使用ID找到Editor了,总是在报未知的ID这个异常。    2.使用TableViewer时,TableColumn的宽即setWeight属性必须设置,如果不仔细看文档的话,一天TableViewer都不会显示出来。
    上次的一篇文章问到为什么TreeViewer没有刷新,结果没有人回答。求人不求己。    自己解答一下这个问题吧,是因为领域对象出了错,所以TreeViewer没有刷新,因为在取得子节点的时候,出现了空针的情况,Dialog没有不关闭,也是因为在刷新节点的时候遇到了领域对象的空针,TreeViewer的刷新方法已经出现异常了,所以Dialog停止执行了。JFace对异常的处理好像就是这么简单,当遇到异常的时候,很少会抛出异常。    以后在写RCP的时候一定要注意异常的问题,不要因为没有看到异常信息,就认为没有异常了,RCP只是不知道应该不异常记录在哪里而已。
谢谢合作!
 1 /**//*  2     * 开始为产品树添加信息,存入数据库,然后刷新树 3     * (non-Javadoc) 4     * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int) 5     */ 6
    正式开始RCP项目的开发了,又兴奋又激动,突然一下不知道该干什么了!嘿嘿,太激动了~    下午在开发中发现一个小问题,org.eclipse.swt.widgets.Text的 setText方法竟然不接受null值!我没有测试在SWT下是否报异常。反正是RCP项目中如果Dialog有Text而且你给setText了一个null,那么这个Dialog是不会显示的,而且没有任何异常可以报出来!Debug一下,不仔细看根本就看不到它是出现异常了!    大家以后注意啊!
Global site tag (gtag.js) - Google Analytics