`

如何在自己编写的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。
分享到:
评论

相关推荐

    spring boot 第三方jar包抽离方案

    因此,为了减小jar包的大小,提高部署效率,我们需要对Spring Boot应用中的第三方jar包进行抽离。 ### 方案背景 目前,很多企业采用Spring Boot微服务架构进行分布式部署。Spring Boot的特性之一是将所有依赖打包...

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

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

    android 混淆 去除第三方jar

    本文将深入探讨如何在Android项目中进行混淆,并特别关注如何处理第三方jar包。 首先,了解混淆的基本概念。混淆是通过重命名类、方法和变量,将其转化为简短的无意义名称,以增加逆向工程的难度。Android Studio...

    eclipse 打包 jar 碰到的问题(包含第三方包)

    总之,打包包含第三方库的Java项目在Eclipse中可以通过多种方式进行,关键在于理解项目结构、类加载机制和构建工具的使用。通过上述方法,你可以成功地解决“eclipse 打包 jar 碰到的问题(包含第三方包)”。

    java打包jar、第三方jar包、制作成.bat批处理

    本篇文章将深入探讨如何打包Java项目、如何处理第三方JAR包,并创建一个.bat批处理文件来简化运行流程。 1. **打包Java项目为JAR文件** 打包Java项目通常使用Maven或Gradle等构建工具。在Maven中,可以在pom.xml...

    gradle_plugin_android_aspectjx,一个android gradle插件,可以在android项目上影响aspectj,并可以钩住kotlin、aar和jar文件中的方法。.zip

    此外,对于依赖的aar和jar库,AspectJX同样能够帮助我们在这些库内部添加切面,这对于那些无法修改源码的第三方库来说尤其有用。 要使用AspectJX,首先需要在项目的build.gradle文件中添加插件依赖。AspectJX插件的...

    hadoop-eclipse-plugin-2.7.0.jar

    - `lib`:包含插件运行所需的第三方库文件,如Hadoop的相关JAR包。 - `META-INF`:存储插件的元数据信息,如MANIFEST.MF文件,描述了插件的基本信息和依赖。 - `resources`:包含插件的资源文件,如图标、帮助文档...

    Android参考源码-引用第三方库的方法.zip

    在Android开发过程中,引入第三方库是常见的操作,它能够帮助我们快速实现复杂的功能,节省开发时间,提高代码质量。本文将详细讲解如何在Android项目中引用第三方库,以"Android引用第三方库的方法"为主题,结合...

    mybatis_plugin 2.92

    "mybatis_plugin 2.92" 可能是一个为 MyBatis 添加特定功能或优化的第三方插件集合,通过合理使用这些插件,可以提高开发效率,优化应用程序的性能,或者简化某些复杂的数据库操作。在实际项目中,根据需求选择和...

    cordova 自定义插件demo(含jar包调用示例)

    3. 引入并使用第三方jar包进行功能扩展。 4. 编写JavaScript接口以调用Java插件方法。 5. 实现原生与JavaScript之间的信息回调。 这个示例对于理解Cordova插件开发,特别是与Java库的集成,具有很好的学习价值。...

    java集成kettle所有jar包

    3. **Library dependencies**:Kettle依赖于一些第三方库,如JDBC驱动、Apache Commons、Log4j等。这些也需要被包含在Java项目的类路径中。 4. **Swing和WebUI**:如果你的应用需要图形界面,那么可能还需要`kettle...

    Android-使用Android Studio实现第三方QQ登录

    本文将详细介绍如何使用Android Studio实现第三方QQ登录,以及如何获取并引入必要的QQ登录jar包。 首先,你需要在腾讯开放平台(http://open.qq.com)注册一个开发者账号,这是获取QQ登录接口和SDK的前提。在注册后...

    javajar源码-gradle-utp-plugin:gradle插件Java源码习作。主要尝试了在gradle中依赖第三方jar的方案

    此插件可能是为了帮助开发者更方便地在Gradle中处理和依赖第三方的Java JAR库。 【描述解析】 "java jar源码" 提示我们这个项目包含了Java应用程序的源代码,特别是与JAR(Java Archive)文件有关。JAR文件是Java...

    Free MyBatis plugin最新版2021.12.09版本

    对于依赖于特定插件的开发者,这是一个很好的提醒,要定期评估所依赖的第三方组件的状态,确保其能够满足项目需求,并且保持更新。在开源软件生态中,维护者的持续贡献是项目生命力的保障。当遇到类似情况时,寻找...

    自己收集的一些Jar包,可以供大家使用

    在Eclipse中,你可以通过引入JAR包来利用第三方库的功能。这个压缩包中的JAR文件可能包含了各种JavaEE、Spring框架相关的组件,这些组件对于构建企业级Web应用至关重要。 1. **JavaEE**: Java Enterprise Edition,...

    .jar文件生成工具

    例如,FatJar工具允许开发者将整个项目及其所有依赖打包成一个可执行的.jar文件,包括第三方库,极大地简化了部署流程。 生成fatjar的方法有很多种,其中一种流行的方式是使用Gradle或Maven构建工具。在Gradle中,...

    eclipse制作jar工具

    Fat Jar插件的主要目标是创建包含所有依赖库的“胖”JAR文件,这意味着它不仅包含了你的源代码,还包含了项目运行所需要的第三方库。这对于那些希望将整个项目作为一个独立单元分发的开发者来说非常有用,因为接收者...

    struts2项目使用的初级常用jar包

    3. **依赖的第三方库:** - `ognl.jar`:Object-Graph Navigation Language,用于表达对象属性和方法的访问,是Struts2中Action和值栈数据绑定的关键。 - `freemarker.jar`:FreeMarker是一个模板引擎,用于生成...

    rtf-parse.jar、jid3lib-0.5.4.jar

    在实际应用中,`Nutch`这样的工具通常会依赖许多第三方库来增强其功能和处理各种格式的数据。这些`jar`文件作为编译依赖,确保了`Nutch`能够正确运行和处理不同类型的网络资源。因此,理解并掌握这些库的工作原理和...

Global site tag (gtag.js) - Google Analytics