【发布时间】:2015-06-26 18:22:23
【问题描述】:
我一直在努力根据 FpML 5.7 记录保存建议生成 java 文件。任何帮助都会得到帮助。
我已关注 http://www.stephennimmo.com/generate-java-objects-for-fpml-using-jaxb-and-maven-the-easy-way/ 和 FpML 5.3 JAXB Bindings,但仍然出现以下错误。
- 由于以下原因,您获得了这个“包罗万象”的属性:
- 字段名称“NotionalSchedule”由模式的两个不同部分使用。见:
- 文件第 69 行:/C:/Projects/TestFpML/src/main/xsd/xml_recordkeeping/fpml-ird-5-7.xsd
- 文件第 53 行:/C:/Projects/TestFpML/src/main/xsd/xml_recordkeeping/fpml-ird-5-7.xsd
这是我的 bindings.xjb
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xs:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
version="2.1"
jxb:extensionBindingPrefixes="xjc">
<jxb:globalBindings>
<jxb:serializable uid="54"/>
</jxb:globalBindings>
</jxb:bindings>
这是我的 maven pom.xml。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>xml_recordkeeping-xjc</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<schemaDirectory>${project.basedir}/src/main/xsd/xml_recordkeeping</schemaDirectory>
<bindingDirectory>${project.basedir}/src/main/xjb</bindingDirectory>
<bindingFiles>bindings.xjb</bindingFiles>
<schemaFiles>fpml-main-5-7.xsd</schemaFiles>
<packageName>org.fpml.recordkeeping</packageName>
<staleFile>${project.build.directory}/jaxb2/.recordkeepingXjcStaleFlag</staleFile>
<extension>true</extension>
</configuration>
</execution>
</executions>
<configuration>
<outputDirectory>${project.basedir}/src/main/java</outputDirectory>
</configuration>
</plugin>
我还尝试将<xjc:simple /> 添加到绑定中,但没有帮助。我知道 FpML 网站的 xsd 文件中有一个重复的对象定义,但是如何扩展绑定以仍然保持 xsd 的真实性。由于此文件是市场标准,我不想更改 xsd。
感谢您的帮助。
【问题讨论】:
-
尝试使用
jaxb:property/@name自定义其中一个地点以避免名称冲突。 -
成功了。谢谢!
标签: maven xsd jaxb jaxb2-maven-plugin fpml