引言
通常根据需求的变更,接口文档的调整,业务对象模型需要有部分一些新增,删除或者修改等操作。那么此时需要首先更新业务对象的Java项目,然后重新打出jar包,覆盖原有的jar包,然后bom更新。同时还要BOM更新时的一些问题的处理。
示例:属性改名:cooperateName 改为 cooperateCode
一、java项目中修改该属性,并根据需求添加get和set方法。
二、保存之后导出为jar包
之前有介绍,这里不做赘述
三、将导出的jar包覆盖项目的xom文件夹下原有的jar包
此时会出现报错信息,报错原因为XOM与BOM不同步,一般在BOM更新之后,便不会有报错了,但特殊情况下可能任然存在报错情况,此时需要根据报错信息而定。
四、bom更新
4.1 bom文件夹下“模型“ 右键 “BOM更新”
4.2 BOM更新视图下,提示“检测到 XOM和BOM类之间的区别”,“区别和操作”输入框中有内容可选。点开可输入下拉框,其中有“删除BOM属性cooperateName”和“不建议使用属性cooperateName”
的选项
。
4.3 在“区别和操作 ”下,点击“执行和保存”按钮,进行更新。
4.4 对于新增的属性,回弹出如下提示框,用语言描述BOM,勾选全选,并点击完成
4.5 如果有多处改变,则需要执行多次BOM更新,即点击多次“执行和保存”按钮,直到BOM更新视图提示“未检测到XOM和BOM类之间的区别”,此时,“区别和操作”输入框中无内容可选。
4.6 更新完成之后,依然会出现项目报错的情况,打开项目,可看到“cooperateName”与“cooperateCode”两个属性 都有,且“cooperateName”报错。
五、BOM更新出现的问题已经解决方案
报错原因:下拉框中的选项,“不建议使用BOM属性cooperateName”在前,“删除BOM属性cooperateName”在后。如果是按照默认的顺序,依次执行和保存,则会在执行“不建议使用BOM属性cooperateName”完成时,代码中会增加一段代码( deprecated "true"),该段代码的意思是该属性已弃用。但不会删除该属性。
此时“删除BOM属性cooperateName”的选项会根据系统的自动构建而消失。所以属性“cooperateName”在BOM中依然存在,而在XOM中已经不存在了,所以报错。
解决方法:
(一)、在执行BOM更新时,优先执行“删除BOM属性cooperateName”;
(二)、在执行完成后,打开该属性“cooperateName”所在的类,在“成员”中找到该属性,选中后,点击右侧的删除按钮,保存即可。