在RCP中使用第三方jar

      最近做的一个RCP小工具里用到了解析xml以及Apache中的COmmon jar,个人不是很喜欢jdk原始的xml解析器,所以选择了dom4j进行xml的解析。

调试时发现解析使用SAXReader会报"classnotfoundexception"的错。而在jdk lib的ext里我已经将dom4j.jar复制进去了,而且在单类调试时已经通过,证明代码写的和库本身都没有问题,有问题的只能是classpath了。

在网上查了很多资料,有提到将dom4j做成eclipse插件的,有导入关联项目的等等,都比较麻烦,而且不符合插件开发规范,但是大家的一致意见就是eclipse插件开发导入第三方包是很麻烦的事。最终在网上查到了一篇相对比较简单,配置相对比较合理的文章,尝试了下,虽然上面的很多步骤冗余,但是还是给了我一些启示。

步骤如下:

1、在项目中创建文件夹lib,将dom4j.jar复制进去。(其实这个根据个人爱好,我比较喜欢所有的资源都在一起)

2、修改插件配置文件"Manifest.mf",加入"Bundle-ClassPath: lib/dom4j.jar"。这个是我在网上查到的信息最重要的部分,也是eclipse没有提供引入第三方包功能的地方——没有引入包的界面选项。加入此项后,在插件项目运行时就可以找到项目目录下lib下的dom4j包了。

然后我参考了几篇其它文章,不太确定这些配置是否有用,但是还是采纳了。(原因是由于导入后我的项目还是报错,我会在后面提到)

3、在build也就是中文界面的构建中——运行时信息里添加"lib/dom4j.jar",然后在后面将lib这个文件夹添加进来。这个选项我在没有将"Bundle-ClassPath: lib/dom4j.jar"加入Manifest.mf前尝试过,但是没有找到这个。所以eclipse也是从Manifest.mf识别的。然后将源代码构建里的lib文件夹选定。

做完以上步骤后,你会发现在运行时的类路径里已经存在了"lib/dom4j.jar"。

 

备注Eclipse3.3 中

  pugin.xml中使用Bilud查看,在Extra ClassPath Entries中 点击add JARS 添加相应的jar文件即可。

你可能感兴趣的:(apache,eclipse,jdk,xml,ext)