openfire开发(五)openfire插件打包另类打法
2015-10-30 18:30
274 查看
由于我们的openfire插件引入的包越来越多,导致插件也越来越大,而且openfire3.10.x之后取消了pack200的打包方式(压缩),导致打包出来的插件越来越大,大概10M左右,上传速度大概200KB/s,有时候上传插件到50%多,因为网络不好,导致又得重传,蛋疼~~~
因此就想琢磨着能不能不将插件开发时依赖的第三方包,不打包到插件之中。以下分析都是基于openfire3.10.x版本操作
1、首先解压插件分析结构,我们可以发现整个插件依赖的包是整个放到lib中的(和我们的开发目录中的lib很像啊~~~),初步推断打包的时候是直接将lib目录里面的东西全部拷贝过去的。
2、我们先移除掉插件的lib目录中jar文件的build path,现在我们的插件代码也因为找不到类显示红色叉叉了。
3、我们在build文件夹同级目录中新建chatlib目录,并将插件lib中的jar文件全部拷贝进去,并删除lib目录。并将jar文件build path(我是放到chatlib统一管理),如下图所示。
4、这时候,我们的代码不显示红色叉叉了,但是使用build.xml进行build的时候会报错。找不到类,这时候我们需要修改build.xml。首先我新建个属性,指向我们插件依赖jar的lib目录,如下图所示
5、还要修改一个地方,如下图所示(此种方法只是针对build我们自己的插件)
6、再次build,我们的插件可以build成功了。要使openfire能够运行这个插件,还需要将我们的插件依赖的jar拷贝到openfire的lib目录中,或者你可以自己在openfire根目录中新建个目录,但是这种方式需要修改openfire/bin目录中的openfire文件的脚本。
顺便解释下openfire.jar那个文件为什么没有引入lib,是因为build.xml里面有个参数,具体名字记不清了,可以将依赖的类直接拷贝到插件目录中~~
后记:此处我只提供一种方式,具体操作还是要根据实际需求去打包,如果有不懂可以联系我~~
本文出自 “好学、善思” 博客,请务必保留此出处http://porterxie.blog.51cto.com/1787765/1708162
因此就想琢磨着能不能不将插件开发时依赖的第三方包,不打包到插件之中。以下分析都是基于openfire3.10.x版本操作
1、首先解压插件分析结构,我们可以发现整个插件依赖的包是整个放到lib中的(和我们的开发目录中的lib很像啊~~~),初步推断打包的时候是直接将lib目录里面的东西全部拷贝过去的。
2、我们先移除掉插件的lib目录中jar文件的build path,现在我们的插件代码也因为找不到类显示红色叉叉了。
3、我们在build文件夹同级目录中新建chatlib目录,并将插件lib中的jar文件全部拷贝进去,并删除lib目录。并将jar文件build path(我是放到chatlib统一管理),如下图所示。
4、这时候,我们的代码不显示红色叉叉了,但是使用build.xml进行build的时候会报错。找不到类,这时候我们需要修改build.xml。首先我新建个属性,指向我们插件依赖jar的lib目录,如下图所示
5、还要修改一个地方,如下图所示(此种方法只是针对build我们自己的插件)
6、再次build,我们的插件可以build成功了。要使openfire能够运行这个插件,还需要将我们的插件依赖的jar拷贝到openfire的lib目录中,或者你可以自己在openfire根目录中新建个目录,但是这种方式需要修改openfire/bin目录中的openfire文件的脚本。
顺便解释下openfire.jar那个文件为什么没有引入lib,是因为build.xml里面有个参数,具体名字记不清了,可以将依赖的类直接拷贝到插件目录中~~
后记:此处我只提供一种方式,具体操作还是要根据实际需求去打包,如果有不懂可以联系我~~
本文出自 “好学、善思” 博客,请务必保留此出处http://porterxie.blog.51cto.com/1787765/1708162
相关文章推荐
- bash函数定义/使用/传参…
- bash字符串操作
- linux程序包管理之yum
- linux DTS 分析
- bash数组操作-定义/初始化/赋值…
- nginx直接访问html的配置
- shell脚本:定期删除日志文件
- 事务处理必须重新运行问题---运维日志2
- Linux下mysql的root密码忘记解决方法
- Linux 杀死挂起的进程
- 如何卸载centos中自带的Java
- Hadoop + Spark 在CentOS下的伪分布式部署
- opencv学习笔记(十六)——图像对比度和亮度值
- linux useful commands
- ubuntu 14.04 用 shell 方便安装nginx
- linux简单命令
- 基于CI框架 MVC模式下 的初次网站搭建
- linux中c/c++数组的最大长度
- 使用 openssl 命令行构建 CA 及证书
- Linux基础命令