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时的现象不一样。

posted @   skyme  阅读(1787)  评论(2编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2011-01-08 Linux下crontab命令的用法
点击右上角即可分享
微信分享提示