XPDL-生成JAXB类时出错
在我公司的一个项目中,我正在努力构建一个非常简单的业务流程引擎。为了做到这一点,我从构建BPMN开始,现在我正在深入研究XPDL。 我从下载了XPDL xsd,并尝试使用xjc及其包装eclipse插件从该xsd生成类。 它失败的原因是如下冲突错误XPDL-生成JAXB类时出错,jaxb,marshalling,bpmn,unmarshalling,Jaxb,Marshalling,Bpmn,Unmarshalling,在我公司的一个项目中,我正在努力构建一个非常简单的业务流程引擎。为了做到这一点,我从构建BPMN开始,现在我正在深入研究XPDL。 我从下载了XPDL xsd,并尝试使用xjc及其包装eclipse插件从该xsd生成类。 它失败的原因是如下冲突错误 parsing a schema... [ERROR] Property "TimeDate" is already defined. Use <jaxb:property> to resolve this conflict.
parsing a schema...
[ERROR] Property "TimeDate" is already defined. Use <jaxb:property> to resolve this conflict.
line 3558 of file:/home/alberto/Job/WSP/orch/orch.model/src/main/resources/bpmnxpdl_40a.xsd
老实说,我不知道
1为什么像这样的官方标准xsd会有这样的问题
2如何解决这个问题?这个问题
如果您签出TriggerTime元素,您将看到一个名为TimeDate的元素和属性。这在XML中不是问题,但默认情况下,JAXB实现将尝试将这两个项映射到导致冲突的同一Java属性
BPMN:如果触发器类型是Timer,则必须存在
不赞成
不赞成
binding.xml的解决方案
外部绑定文件可用于定制JAXB实现如何从XML模式生成Java模型。下面是重命名其中一个生成的属性的示例:
XJC呼叫
使用XJC实用程序时,-b选项用于指定绑定文件
xjc -b binding.xml bpmnxpdl_40a.xsd