如何在插件开发中正确使用第三方jar包
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在插件开发中正确使用第三方jar包相关的知识,希望对你有一定的参考价值。
在一般插件项目中添加第三方jar包:1. 创建你的插件项目,并新建一个文件夹放置你需要的第三方jar包,如:<project>/lib。
2. 从文件系统中导入或拷贝jar包至<project>/lib文件夹中,如:<project>/lib/activation.jar。
3. 打开MANIFEST.MF文件,在插件编辑器的"Runtime"Tab页中,把第三方jar包添加到"Classpath"面板中。
4. 如果该插件需要被其他插件依赖,则需要在插件编辑器的"Runtime"Tab页中,在"Exported Packages"面板中添加所有允许访问的包。
通过图形界面编辑器配置后的MANIFEST.MF文件如下:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Primeton Studio EosTest Core Plug-in
Bundle-SymbolicName: com.primeton.studio.eostest.core
Bundle-Version: 6.0.0
Bundle-Vendor: %Primeton
Bundle-Localization: plugin
Bundle-ClassPath: lib/activation.jar,
lib/jaxb-api.jar,
lib/jaxb-impl.jar,
lib/jsr173_1.0_api.jar
Export-Package: com.primeton.studio.eostest.core,
com.primeton.studio.eostest.core.model.cut,
...
javax.activation,
javax.xml.bind,
javax.xml.bind.annotation,
javax.xml.bind.annotation.adapters,
javax.xml.bind.attachment,
javax.xml.bind.helpers,
javax.xml.bind.util,
javax.xml.stream,
javax.xml.stream.events,
javax.xml.stream.util
Require-Bundle: com.primeton.studio.runtime,
org.eclipse.core.resources
构建插件项目:
5. 打开build.properties文件,在插件编辑器的"Build"Tab页的"Binary Build"面板中,选中需要构建的内容。
生成的build.properties文件如下:
output.. = bin/
bin.includes = META-INF/,\\
plugin.xml,\\
lib/jaxb-api.jar,\\
lib/jaxb-impl.jar,\\
lib/jsr173_1.0_api.jar,\\
lib/activation.jar,\\
plugin.properties,\\
plugin_zh_CN.properties
src.includes = META-INF/,\\
src/,\\
plugin.properties,\\
plugin.xml,\\
plugin_zh_CN.properties,\\
build.properties
在插件项目B中引用一个插件项目A的类:
6. 首先,需要保证该类所在的包在插件A的MANIFEST.MF文件Export-Package:中,如上步骤4。
7. 其次,打开插件项目B的MANIFEST.MF文件,在插件编辑器的"Dependencies"Tab页中,把插件项目A添加到"Required Plug-ins"面板中。如果仅仅是在插件项目B的"Java Build Path"添加了插件项目A,则运行时肯定会出现运行时"NoClassDefFoundError"问题。
导出插件项目:
8. 选中插件项目,在导出向导里选中"Deployable plug-ins and fragments"选项导出。
9. 导出的插件分为三种形式,文件夹、zip包、jar包。导出的内容包括在上面插件项目构建步骤中,build.properties文件bin.includes中选中的内容。
10. 其中jar包的形式需要在"Options"选项里选中"Package plug-ins as individual JAR archives"选项。
将第三方jar包单独包装成一个插件项目:
另外对于项目中使用到大量的第三方jar包时,可以采用eclipse官方推荐的方式,把第三方jar单独包装成一个插件项目。
按Ctrl+N,在新建对话框里选择"Plug-in from existing JAR archives",按下一步选择你需要的jar文件。
再下一步指定这个plugin的名称,注意这一步里一般要把最下面的"Unzip the JAR archives into the project"选项清除,否则eclipse会把jar文件全部展开为.class文件树,最后按Finish就可以了。 参考技术A 解决过程 在一般插件项目中添加第三方jar包: 1. 创建你的插件项目,并新建一个文件夹放置你需要的第三方jar包,如:<project>/lib。 2. 从文件系统中导入或拷贝jar包至<project>/lib文件夹中,如:<project>/lib/activation.jar。 3. 打开MANIFEST.MF文件,在插件编辑器的"Runtime"Tab页中,把第三方jar包添加到"Classpath"面板中。 haha@sh 2011年04月21日 13:46 4. 如果该插件需要被其他插件依赖,则需要在插件编辑器的"Runtime"Tab页中,在"Exported Packages"面板中添加所有允许访问的包。
2017.5.1 使用fat jar插件来打包有引用外部jar包的项目
如果在程序开发时用到了第三方提供的API、jar包或者其他附属资源。在导出并生成项目的jar文件时,必须将第三方的文件一并导出,否则无法正确运行。
可以使用fat jar插件,下载地址:http://sourceforge.net/projects/fjep/
1.下载
下载完成后,解压至文件夹,结构如图:
2.安装
(1)将plugin下的jar包放到eclipse的plugin下,重启eclipse。
(2)重启后,windows->preferences,如果有fat jar,表示安装成功。
(3)如果重启后,没有在preferences里看到fat jar,到eclipse目录下的configuration->org.eclipse.update,并删除platform.xml文件。然后再重启eclipse。
完成这步后,再重做(2)。
3.使用
右击项目,选择build fat jar。填写jar包名字,选择项目的主类,最后勾选要附加的资源。点击finish,即完成打包。
4.运行jar包
打开命令窗口,进入刚刚打包好的jar包路径,输入:
java -jar ***.jar
以上是关于如何在插件开发中正确使用第三方jar包的主要内容,如果未能解决你的问题,请参考以下文章