BOS工具-解决方案-二开源码和元数据过多导致工具使用卡顿、内存溢出或闪退
# BOS工具-解决方案-二开源码和元数据过多导致工具使用卡顿、内存溢出或闪退
## 背景
1. 二开工程由于是迭代开发,随着时间的推移,源码内容会越来越大,元数据也会越来越大;
2. BOS工具内核是一个较低版本的eclipse,且运行环境为jre1.6,性能有限;
## 说明
1. 合理的工程拆分是非常必要的,优先建议对工程进行拆分,详情步骤参考:分包部署及工程拆分指引.doc;
2. 如果工程源码互相引用复杂或无条件拆分,可参考以下操作指引,但较为麻烦;
## 操作指引
### 1. BOS工具配置文件修改
1. 保留原有的BOS工具和工作空间,备份一份BOS工具安装目录作为新的BOS工具,新建一个文件夹作为新的BOS工具的工作空间;
2. 修改新BOS工具安装目录下的一些配置文件
1. BOSModular\bim\eclipse\plugins\com.kingdee.bos.bim_6.1.0\plugin.xml
搜索"filter_rule",删除后面的/bim/*.jar;
```xml
filter_rule="/upgradescript/;eas_sp.jar;/bim/*.jar;sp-bim-metas.jar;server/lib/client/"
```
2. BOSModular\bim\eclipse\plugins\com.kingdee.bos.bim_6.1.0\configs\ant\import_basemodule.xml
* 搜索"复制服务器类库文件",后面加上复制bim类库至sp目录;
```xml
<copy description="复制服务器类库文件" todir="${dir.lib}" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}\${server.lib}">
<include name="**/*.jar"/>
<exclude name="eas_sp.jar"/>
<exclude name="bim/*.jar"/>
<exclude name="client/**/*.jar"/>
</fileset>
</copy>
<copy description="复制bim类库至sp目录" todir="${dir.lib}\sp" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}\${server.lib}\bim">
<include name="**/*.jar"/>
</fileset>
</copy>
```
* 搜索"复制元数据",后面加上复制二开元数据至sp目录;
```xml
<copy description="复制元数据" todir="${dir.basemetas}" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}/${server.metas}">
<include name="**/*"/>
<exclude name="sp-bim-metas.jar"/>
<exclude name="configure/**/*.*"/>
<exclude name="bim/*.jar"/>
</fileset>
</copy>
<copy description="复制二开元数据至sp目录" todir="${dir.basemetas}/sp" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}/${server.metas}/bim">
<include name="**/*"/>
</fileset>
</copy>
```
3. BOSModular\bim\eclipse\plugins\com.kingdee.bos.bim_6.1.0\configs\ant\update_basemodule.xml
* 搜索"复制服务器类库文件",后面加上复制bim类库至sp目录;
```xml
<copyTask description="复制服务器类库文件" todir="${dir.lib}" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}\${server.lib}">
<include name="**/*.jar"/>
<exclude name="eas_sp.jar"/>
<exclude name="bim/*.jar"/>
<exclude name="client/**/*.jar"/>
</fileset>
</copyTask>
<copyTask description="复制bim类库至sp目录" todir="${dir.lib}\sp" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}\${server.lib}\bim">
<include name="**/*.jar"/>
</fileset>
</copyTask>
```
* 搜索"复制元数据",后面加上复制二开元数据至sp目录;
```xml
<copyTask description="复制元数据" todir="${dir.basemetas}" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}/${server.metas}">
<include name="**/*"/>
<exclude name="sp-bim-metas.jar"/>
<exclude name="configure/**/*.*"/>
<exclude name="bim/*.jar"/>
</fileset>
</copyTask>
<copyTask description="复制二开元数据至sp目录" todir="${dir.basemetas}/sp" includeEmptyDirs="false" preservelastmodified="true" overwrite="true">
<fileset dir="${dir.import}/${server.metas}/bim">
<include name="**/*"/>
</fileset>
</copyTask>
```
4. BOSModular\bim\eclipse\plugins\com.kingdee.bos.bim_6.1.0\configs\ant\import_gui.xml
* 搜索"复制类库文件",删除 include name="bim/*.jar"
```xml
<copy description="复制类库文件" todir="${dir.lib}" includeEmptyDirs="false" preservelastmodified="true" failonerror="false">
<fileset dir="${dir.import}\${server.lib}">
<include name="eas_sp.jar"/>
</fileset>
</copy>
```
* 搜索"释放压缩文件",删除前4个解压
```xml
<target name="releaseServerFile" description="释放压缩文件" if="dirIsExists">
<unjar description="解压二次开发元数据" src="${dir.sol_template}\custom.zip" dest="${dir.metadata}"/>
<delete description="删除元数据目录下的描述文件" dir="${dir.metadata}\META-INF"/>
</target>
```
3. 双击执行新BOS工具安装目录下的 BOSModular\clear_bosmodular_env.bat
### 2. 新BOS工具导入解决方案
1. 启动新BOS工具,选择新的工作空间,从服务器导入一个新的解决方案;
2. 新导入的解决方案目录中,src下源码和metadata目录下的二开元数据是空的;但是lib/sp目录下有全部二开源码jar包,basemetas/sp目录下有全部二开元数据jar包;
3. 启动服务客户端,测试二开功能是否正常;
### 3. 导入需要修改的源码和元数据
1. 源码导入
1. 由于没有拆分工程,直接从svn签出src目录是整个全量源码,内容过多;
2. 从旧的解决方案工程中复制需要修改的源码目录至新的解决方案中,注意:复制的目录需要保留原来的目录结构,没有的目录结构需要手动新建好;
例如:复制旧工程src下com/kingdee/eas/custom/com这个com目录,新工程src下没有com/kingdee/eas/custom这些目录结构,需要手动一层一层文件夹创建;
3. 由于没有拆分工程,直接从svn签出metadata目录是整个全量元数据,内容过多;
2. 元数据导入
1. 由于没有拆分工程,直接从svn签出metadata目录是整个全量元数据,内容过多;
2. 从旧的解决方案工程中复制需要修改的元数据目录至新的解决方案中,注意:
1. 复制的目录需要保留原来的目录结构,没有的目录结构需要手动新建好;
例如:复制旧工程metadata下com/kingdee/eas/custom/com这个com目录,新工程metadata下没有com/kingdee/eas/custom这些目录结构,需要手动一层一层文件夹创建;
2. 旧工程metadata和deployed_metas目录下的配置文件也要复制到新工程对应目录下;例如xxxx.mdbview、xxx.properties;
3. 由于metadata目录下的有些元数据还没有部署,但在旧BOS工具中发布过,deployed_metas目录对应的目录也要复制;
例如:复制了旧工程metadata下com/kingdee/eas/custom/com这个com目录,也需要复制旧工程deployed_metas下的com/kingdee/eas/custom/com这个com目录复制到新工程deployed_metas文件夹下;
BOS工具-解决方案-二开源码和元数据过多导致工具使用卡顿、内存溢出或闪退.pdf
能否再介绍一下,步骤“1. BOS工具配置文件修改”修改好之后,要如何使用?
BOS工具-解决方案-二开源码和元数据过多导致工具使用卡顿、内存溢出或闪退
# BOS工具-解决方案-二开源码和元数据过多导致工具使用卡顿、内存溢出或闪退## 背景1. 二开工程由于是迭代开发,随着时间的推移,源码内...
点击下载文档
本文2024-09-16 22:12:43发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-46650.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章