org.activiti.bpmn.exceptions.XMLException: cvc-complex-type.2.4.d: 发现了以元素 ‘extensionElements’ 开头的无效内容。此处不应含有子元素。
出现上面错误的原因
activity流程定义文件XML中加入了事件监听器extensionElements标签,并且元素中还存在其它的标签,但是事件标签加入的顺序不正确.事件标签必须放在第一位置,否则部署流程时会报错.
手动修改流程定义XML文件会存在该风险,如果是使用插件直接GUI添加的,可能不会出现这种错误.
- 错误的XML顺序
<sequenceFlow id="flow13" name="Agree" sourceRef="Gateway_0ynxz11" targetRef="Gateway_0mycnbk">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${reviewResult=='Agree'}]]></conditionExpression>
<extensionElements>
<activiti:executionListener event="take" class="com.xxx.xxx"></activiti:executionListener>
</extensionElements>
</sequenceFlow>
- 正确的XML顺序
<sequenceFlow id="flow13" name="Agree" sourceRef="Gateway_0ynxz11" targetRef="Gateway_0mycnbk">
<extensionElements>
<activiti:executionListener event="take" class="com.xxx.xxx"></activiti:executionListener>
</extensionElements>
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${reviewResult=='Agree'}]]></conditionExpression>
</sequenceFlow>