RCP开发中引入第三方jar包时的几个陷阱

其实我一直觉得这种东西算不上技术,只是一些小知识点罢了,知道则有,不知则无,去网上搜一搜就出来了。网上也有不少人已经写过一些这方面的东西,但有些陷阱还是没有特别的点明。RCP开发简直就是一个坑的世界,即使你侥幸没掉进这个坑,后面还有无数个坑在等着你。搞得现在大部分的时间都是花在如何从坑里爬出来,而不是如何朝着既定目标前进了。 RCP开发/eclipse插件开发在对第三方jar包的引入上,与普通java应用有着诸多不同。以下几个问题,应该特别引起重视:

1.不要直接在工程属性->Java Build Path页中引入jar包

在我们的思维定式下,引入第三方包就是直接右击工程,进入Properties,再找到  build Path页。但是这在eclipse插件开发中是绝对不提倡的,正确的做法是打开本插件的plugin.xml文件,进入runtime页,在ClassPath区里进行增删。因为这样,才会在MAINFEST.MF文件的Bundle-ClassPath项中有相应同步。

2.不要忘了“.”

如果你没有引入第三方包,没加这个”.”还不要紧。但是如果对1中提到的地方作了修改,而在ClassPath里没有加一个名为”.”的项,最后所有原本就存在的类全都不包含在ClassPath里了。 其实说出来了之后,道理大家都懂,这个”.”跟系统变量CLASSPATH里紧前面那个不可省略的”.”是一个作用。但是我没想到的是eclipse的编译环境居然这么 2,没有作一个相应的优化。这似乎是eclipse的一个bug,据说它有时候会自动帮你加上,有时候又不加。不知道你的eclipse帮你加过没有,反正在我这里是从来没加过的。

3.记得把所有包都Export出来

其实我以前一直觉得如果不是别的插件要import,干吗要把所有包都export出来呢?但是后来血的教训告诉我,还是全都export出来为妙。不然RCP程序导出后运行的现象可能和Lanch an Eclipse application时的现象不一样。

One thought on “RCP开发中引入第三方jar包时的几个陷阱

  1. “RCP开发简直就是一个坑的世界,即使你侥幸没掉进这个坑,后面还有无数个坑在等着你。搞得现在大部分的时间都是花在如何从坑里爬出来,而不是如何朝着既定目标前进了。”我隐约感觉,那玩意是你搞的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注