`

如何在自己编写的Plugin中使用第三方jar

阅读更多
开发Eclipse Plugin的过程中,难免要用到其它的Framework或Lib,如果自己不做配置,那么Eclipse不会自动把这些jar文件作为Plugin运行的classpath,因此Plugin运行的时候就会出错。怎么办呢?

假设我们使用的第三方jar文件都放置在Plugin根目录的lib目录下。那么首先要做的是把这些jar文件包含到Plugin的build中,打开plugin.xml文件,在Build一页中选择lib目录,这样最后export出了Plugin就会包含这些jar文件了。但是这还不够,因为虽然有了jar文件,Plugin还是不知道应该使用它们。还是在Build页中,我们可以看到在最低端有一个叫做Extra Classpath Entries的section。是不是要配置这个东东呢?我们来试试。

点击这个section右侧的Add JARs按钮,添加相应的jar文件,发生了什么?哦,Eclipse报错了,它说当前Plugin的Build Path中含有重复的lib。这是怎么回事儿呢?去看看Build Path就会发现,原来你刚刚添加的jar文件出现在了Plug-in Dependencies中。再加上原来你已经把这些jar加入了Build Path,难怪会出错。好了,把你自己对Build Path的配置去掉,这样就没有重复了。运行Plugin试试?还是不行。

看来Extra Classpath Entries并不是需要配置的地方,但是这里也有一个Happy Accident,那就是你以后再开发Plugin的时候,不用自己配置Build Path了,只需要在Extra Classpath Entries中添加jar文件就好了。但是需要注意的是,这个配置只能保证你的Plugin通过编译,真正运行的时候还是找不到jar文件的。

其实,这个问题的正解在MANIFEST.MF文件中,你需要在这个文件中添加一个配置,才能在Plugin运行时使用第三方jar文件。来看看需要加什么配置吧~

<!---->Bundle-ClassPath: lib/cglib-full-2.0.2.jar,
 lib/commons-beanutils.jar,
 lib/commons-collections-2.1.1.jar,
 lib/commons-lang-1.0.1.jar,
 lib/commons-logging-1.0.4.jar,
 lib/dom4j-1.4.jar,
 lib/ehcache-0.9.jar,
 lib/hibernate2.jar,
 lib/jta.jar,
 lib/jthincommon.jar,
 lib/odmg-3.0.jar


看到了吧,以上是使用Hibernate 2.1.8所需要的配置。这个配置非常简单,但是我不知道为什么PDE没有提供一个interface让我们配置。没办法,目前我们只能自己添加了,因为在Eclipse 3.2中也没有可以配置这个属性的interface。


Allen Young 2006-09-08 17:44 发表评论
分享到:
评论

相关推荐

    Maven将带有第三方依赖的可执行程序打包示例

    执行程序中有巨多第三方依赖包,要一起打进 jar 包,怎么办? maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing.BeanDefinitionParsingException 异常怎么办...

    springboot+maven打包demo【将依赖与配置文件打包到jar包外部】

    这是一个springboot+maven写的demo,主要演示springboot项目通过maven插件,将依赖与配置文件打包到jar包外部,实现灵活的项目管理.仅供参考学习

    Jetty中文手册

    如何部署第三方产品 部署展开形式的web应用 使用Jetty进行开发 如何使用Jetty进行开发 如何编写Jetty中的Handlers 使用构建工具 如何在Maven中使用Jetty 如何在Ant中使用Jetty Maven和Ant的更多支持 Jetty Maven插件...

    Android插件

    在java 6 7中使用 lambda表达式插件 修改编译的jdk为java8: 31.Android Studio Prettify 可以将代码中的字符串写在string.xml文件中 这个插件还可以自动书写findViewById 32.Material Theme UI 添加...

    nutz-1.b.52.zip

    它所有的功能均不依赖第三方 jar 包 这就意味着: 如果一个 Web 应用,你在 WEB-INF/lib 下只 需要放置一个 nutz.jar 就够了 当然你要使用连接池,数据库驱动等功能,还需要自行添置 jar 包。 -------------Nutz 为...

    Java EE常用框架.xmind

    它是目录服务,通过该服务可以注册和发布webservcie,以便第三方的调用者统一调用 使用: 二、我们可以使用Java自带的WsImport来实现本地代理。这种方法会将WebService翻译成Java类,我们使用类一样去...

    Maven权威指南 很精典的学习教程,比ANT更好用

    本例中所用的技术 7.2. simple-parent项目 7.3. simple-model模块 7.4. simple-weather模块 7.5. simple-persist模块 7.6. simple-webapp模块 7.7. 运行这个Web应用 7.8. simple-command模块 7.9. 运行这...

    Eclipse RCP Plugin 开发自学入门指南(CEC首发)

    将涉及以下内容:创建第一个 RCP 程序,创建菜单和工具栏,查看,编辑,对话,外部 JAR 的用法,向一个 RCP应用程序产品中添加标志和帮助。 每一章都基本独立于其他章节。 目录 1 富客户端平台 ....................

    新版Android开发教程.rar

    � 由于采用了 Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于 Android 是一款完全 开 源的移动计算平台,相信第三方应用会很快的丰富起来。 � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的...

Global site tag (gtag.js) - Google Analytics